sql server的一个字符串分割的表值函数方法

ALTER function [dbo].[BOSplit]
(
@SourceSql nvarchar(max),  --要分割的字段
@StrSeprate varchar(10)      --分割符
)
returns @temp table(value nvarchar(100))
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

posted @ 2017-04-18 14:45  王子先生  阅读(259)  评论(0编辑  收藏  举报