KSO-sqlserver以逗号分隔,并进行转为多行

CREATE FUNCTION [dbo].[f_split](@ids VARCHAR(MAX))
RETURNS @t_split TABLE(col VARCHAR(100))
AS
BEGIN
–循环找到字符串中第一个’,‘的索引
WHILE(CHARINDEX(’,’,@ids)<>0)
BEGIN
–将第一个’,‘之前的字符单元插入临时表中
INSERT @t_split(col) VALUES(SUBSTRING(@ids,1,CHARINDEX(’,’,@ids)-1))
–将第一个’,‘后面的字符串重新赋给@ids
SET @ids=STUFF(@ids,1,CHARINDEX(’,’,@ids),’’)
END
–将最后一个字符单元插入表中(已经没有’,’)
INSERT @t_split(col) VALUES(@ids)
RETURN
END
SELECT * FROM dbo.f_split(‘1,2,3’)

在这里插入图片描述

Published by

风君子

独自遨游何稽首 揭天掀地慰生平