欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sqlserver实现分隔字符串

程序员文章站 2022-11-07 10:02:01
sqlserver 使用函数实现分隔字符串 create function dbo.fn_split ( @str_source nvarchar(max), @split_char nvarchar(100) ) returns @temp table ( id int primary key i ......

sqlserver 使用函数实现分隔字符串

create function dbo.fn_split
(
    @str_source nvarchar(max),
    @split_char nvarchar(100)
)
returns @temp table
(
    id int primary key identity(1,1),
    val varchar(max)
)
as
begin
    declare @idx int,@split_len int

    set @str_source=rtrim(ltrim(@str_source))
    set @idx=charindex(@split_char,@str_source)
    set @split_len=len(@split_char)

    while(@idx>0)
    begin
        insert into @temp values(left(@str_source,@idx-1))

        set @idx+=@split_len-1
        set @str_source=substring(@str_source,@idx+1,len(@str_source)-@idx)
        set @idx=charindex(@split_char,@str_source)
    end

    if(@str_source!='')
    begin
       insert into @temp values(@str_source)
    end

    return
end