例如一个字段[values]的值是:12,35,67,1235,43,87
调用这个函数之后:dbo.f_split(values,',')/*注意:前面记得加 dbo. 我调用的时候因为忘加老是说找不到函数,弄了很久呀*/
结果变成一个表:
[table]
a
--------
12
35
67
1235
43
87
将一个字段分隔为一个表的函数
ALTER function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp table(a varchar(100)) /*--实现split功能 的函数 --date :2005-4-20 --Author :Domino */ as begin declare @i int set @SourceSql=rtrim(ltrim(@SourceSql)) set @i=charindex(@StrSeprate,@SourceSql) while @i>=1 begin insert @temp values(left(@SourceSql,@i-1)) set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i) set @i=charindex(@StrSeprate,@SourceSql) end if @SourceSql<>'\' insert @temp values(@SourceSql) return end