SqlServer Function(SplitText)

ALTER FUNCTION [dbo].[SplitTextIntForTest1]
(   
    -- Add the parameters for the function here
    @text VARCHAR(5000),
    @delimiter CHAR(1)
)
RETURNS @Table TABLE ([Value] INT)
AS
BEGIN

    ;WITH csvtbl([INDEX],[NEXT])
    AS
    (
    SELECT [INDEX]=1, [NEXT]=CHARINDEX(@delimiter,@text + @delimiter)
    UNION ALL
    SELECT [INDEX]=[NEXT]+1, [NEXT] = CHARINDEX(@delimiter,@text + @delimiter,[NEXT] + 1)
    FROM csvtbl
    WHERE CHARINDEX(@delimiter,@text + @delimiter,[NEXT]+1) <> 0
    )
    INSERT INTO @Table([Value])
    SELECT SUBSTRING(@text,[INDEX],[NEXT]-[INDEX]) AS [Value]
    FROM csvtbl  OPTION (MAXRECURSION 32767)
   
    RETURN
END


select * from dbo.SplitTextIntForTest('2,3,5,3,5,6,7')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值