CREATE function fn_Split(@char as varchar(max),@key as varchar(50),@index as smallint) returns varchar(256) as begin declare @star smallint --substring中的开始位置 declare @end smallint --substring中的结束位置 declare @string varchar(1000) --程序运行时的实际字符串,我在字符串首尾各增加一个分隔符,以方便后面的操作 set @string = @key+@char+@key if(@index<=len(@char)-len(replace(@char,@key,''))+1) --判断取的字符串是符合法 begin while(@index>0) begin select @star = charindex(@key,@string) --取分隔符第一次出现的位置,做为substring的开始位置 select @string = stuff(@string,charindex(@key,@string),1,CHAR(128)) --用“€”符号去替换分隔符 select @end = charindex(@key,@string) --取分隔符第一次出现的位置,做为substring的结束位置 select @index = @index-1 end return substring(@string,@star+1,@end-@star-1) end return null end
浙公网安备 33010602011771号