-- Author: happyflsytone -- Date:2008-11-05 14:59:34 -- 创建函数 create function [dbo].[split_str] ( @s varchar(8000), --包含多个数据项的字符串 @index int, --要获取的数据项的位置 @split varchar(10) --数据分隔符 ) returns varchar(100) as begin if @s is null return(null) begin declare @splitlen int select @splitlen=len(@split+'A')-2 end while @index>1 and charindex(@split,@s+@split)>0 begin select @index=@index-1,@s=stuff(@s,1,charindex(@split,@s+@split)+@splitlen,'') end return(isnull(left(@s,charindex(@split,@s+@split)-1),'')) end
--测试示例 select dbo.split_str('1-2-3-4',3,'-')
--运行结果 /* 3 */ |
|