SqlServer split功能表值函数

CREATE function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
--实现split功能 的函数
--date    :2010-10-20
--Author :admin@wangzh.net 
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
     
GO

select * from f_split('1,2,3,4,5,5,6',',') --可以看到效果
posted @ 2010-10-20 11:29  Bug从零开始  阅读(346)  评论(0编辑  收藏  举报