CREATE FUNCTION [dbo].[Fn_SplitStr]
(
@param VARCHAR(MAX),
@delimiter CHAR(1) = ','
)
RETURNS @t TABLE (val varchar(100), seq INT)
AS
BEGIN
SET @param += @delimiter;
WITH a AS
(
SELECT CAST(1 AS BIGINT) f, CHARINDEX(@delimiter, @param) t, 1 seq
UNION ALL
SELECT t + 1, CHARINDEX(@delimiter, @param, t + 1), seq + 1
FROM a
WHERE CHARINDEX(@delimiter, @param, t + 1) > 0
)
INSERT @t
SELECT SUBSTRING(@param, f, t - f) , seq FROM a
OPTION (MAXRECURSION 0)
RETURN
END
GO
運(yùn)行結(jié)果如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-817497.html
文章來源:http://www.zghlxwxcb.cn/news/detail-817497.html
到了這里,關(guān)于【SQL SERVER】Fn_SplitStr 逗號(hào)相隔的字符串返回多行的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!