您的位置:首页 > 数据库

SqlServer Function(SplitText)

2010-07-08 15:02 253 查看
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')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: