create function split(@SourceSql varchar(8000),@Code varchar(10))

returns @temp table(sp varchar(1000))

--实现split功能 的函数

--date    :2007-7-10

--Author :sp

as 

begin

   declare @i int

   set @SourceSql=rtrim(ltrim(@SourceSql))

   set @i=charindex(@Code,@SourceSql)

   while @i>=1

   begin

      insert @temp values(left(@SourceSql,@i-1))

      set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)

      set @i=charindex(@Code,@SourceSql)

   end

   if @SourceSql<>'\'

      insert @temp values(@SourceSql)

   return 

end

用法如下:

select * from dbo.split('1,2,3,4,5',',')

posted on 2009-06-14 23:29  许维光  阅读(140)  评论(0)    收藏  举报