ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(F0000 int,F0001 varchar(100))
--实现split功能 的函数 GULAICHENG
--date :2003-10-14
as
begin
declare @i int,@j int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
set @j=1
while @i>=1
begin
insert @temp values(@j,left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
set @j=@j+1
end
if @SourceSql<>''
insert @temp values(@j,@SourceSql)
return
end
如:
select * from dbo.[f_split]('a,b,c,d',',')
返回:
F0000 F0001
1 a
2 b
3 c
4 d
这里,逗号可以用其它的字符代替。