在SQLSERVER里写了一个Split函数

发表于:2007-07-02来源:作者:点击数: 标签:
因查询统计需要,今天早上在 SQL SERVER里写了一个类似于Split的函数,如下 create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))returns @temp table(a varchar(100))--实现split功能 的函数--date :2005-4-20--Author :Dominoas be

因查询统计需要,今天早上在SQLSERVER里写了一个类似于Split的函数,如下

create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))returns @temp table(a varchar(100))--实现split功能 的函数--date    :2005-4-20--Author :Dominoas 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

用法:select * from dbo.f_split(@#A:B:C:D:E@#,@#:@#)

原文转自:http://www.ltesting.net