sql获取各个逗号前的值

来源:互联网 发布:js onloaded 编辑:程序博客网 时间:2024/06/08 05:11


select dbo.char_indexStr('12332,27676,3767,487,587',',',1)select dbo.char_indexStr('12332,27676,3767,487,587',',',2)select dbo.char_indexStr('12332,27676,3767,487,587',',',3)select dbo.char_indexStr('12332,27676,3767,487,587',',',4)select dbo.char_indexStr('12332,27676,3767,487,587',',',5)

再贴上一段函数代码:

CREATE function char_indexStr(@string varchar(8000),@char varchar(10),@index int)--@string:待查找字符串,@index:查找位置returns nvarchar(max)asbegindeclare @indexC intdeclare @indexD intselect @indexC=dbo.char_index(@string,@char,@index-1)select @indexD=dbo.char_index(@string,@char,@index)if(@indexD<>0 and @index>0)begin if(@index>1)beginreturn  SUBSTRING(@string,@indexC+1,@indexD-@indexC-1);endelsebeginreturn  SUBSTRING(@string,0,@indexD);endendelsebeginif(@index>1)beginreturn  SUBSTRING(@string,@indexC+1,len(@string)-@indexC);endend return '';--表示未找到end