zoukankan      html  css  js  c++  java
  • 分割字符串表值函数

    实际工作中,我们通常会有这样的业务场景,需要把一大串字符串,用某个特定的字符串分割出来,生成一张表。一下方法就很好的解决了这个问题。

     1 IF EXISTS(SELECT 1 FROM SYSOBJECTS WHERE ID=OBJECT_ID('fn_Split') AND XTYPE='FN')
     2 BEGIN
     3     DROP FUNCTION dbo.fn_Split
     4 END
     5 GO
     6 --功    能:分割字符串表值函数
     7 --参    数:@String 分割的字符串
     8 --          @Delimiter 分隔符
     9 --返 回 值:表
    10 --创 建 人:maojw
    11 --创建时间:2014-09-24
    12 CREATE FUNCTION [dbo].[fn_Split](  
    13  @String nvarchar (max),  
    14  @Delimiter nvarchar (10)  
    15 )  
    16 RETURNS @ValueTable TABLE ([Value] NVARCHAR(MAX),[id] int)  
    17 BEGIN  
    18  DECLARE @NextString nvarchar(MAX),  
    19   @Pos int,  
    20   @NextPos int,  
    21   @CommaCheck nvarchar(1),
    22     @id int
    23 
    24 set @id=1  
    25    
    26  SET @NextString = ''  
    27  SET @CommaCheck = right(@String,1)   
    28    
    29  SET  @String = @String + @Delimiter  
    30    
    31   SET @Pos = CHARINDEX(@Delimiter,@String)  
    32   SET @NextPos = 1  
    33    
    34  WHILE (@pos <>  0)    
    35  BEGIN  
    36   SET @NextString = SUBSTRING(@String,1,@Pos - 1)  
    37     
    38   INSERT INTO @ValueTable ( [Value],[id]) VALUES (@NextString,@id)  
    39     
    40   SET @String = SUBSTRING(@String,@pos +1,LEN(@String))  
    41      
    42   SET @NextPos = @Pos  
    43   SET @pos  = CHARINDEX(@Delimiter,@String)  
    44 
    45     set @id = @id +1
    46  END  
    47    
    48  RETURN  
    49 END  
    50 GO
    View Code
  • 相关阅读:
    andriod获得textView的值设置textView的text
    Android 自动生成的R类
    andriod 启动日历
    ggplot2在一幅图上画两条曲线
    R语言中动态安装库
    Python中的动态类
    Python中将dict转换为kwargs
    Apache负载均衡
    Python codecs小Tips
    Matlab求三重积分
  • 原文地址:https://www.cnblogs.com/mjw1124/p/3990175.html
Copyright © 2011-2022 走看看