时间:2021-07-01 10:21:17 帮助过:20人阅读
把它转存为表:
DECLARE @dump_data AS TABLE([value] NVARCHAR(MAX)) INSERT INTO @dump_data ([value]) SELECT [value] FROM STRING_SPLIT(@str,‘,‘)Source Code
反转,需要把临时表这列[value] 转换为一个字符串:
SELECT STRING_AGG([value], ‘,‘) FROM @dump_dataSource Code
其实STRING_AGG这函数,还可以对新串联的字符进行排序:
SELECT STRING_AGG([value], ‘,‘) WITHIN GROUP (ORDER BY [value]) FROM @dump_dataSource Code
如果你不想创建临时表,把拆分的数据插入临时表,步骤繁复。可以使用派生表来进行:
SELECT STRING_AGG([value], ‘,‘) WITHIN GROUP (ORDER BY [value]) FROM (SELECT [value] FROM STRING_SPLIT(@str,‘,‘)) sourceSource Code
或者使用一般资料表运算式CTE (Common Table Expression)
;WITH dump_data AS ( SELECT [value] FROM STRING_SPLIT(@str,‘,‘) ) SELECT STRING_AGG([value], ‘,‘) WITHIN GROUP (ORDER BY [value]) FROM dump_data;Source Code
MS SQL Server的STRING_SPLIT和STRING_AGG函数
标签:display from lap 临时表 info com nvarchar 函数 hide