如果你只需要一个合并列表,你可以使用OPENJSON得到一个表,然后使用FOR XML PATH或STRING_AGG组合成一个字符串。
declare @mg nvarchar(max);
set @mg = '{"fiskepind":["ko","hest","gris"]}';
select @mg, JSON_VALUE(@mg,'$.fiskepind')
, STUFF((
SELECT
',' + value
FROM OPENJSON(@mg, '$.fiskepind')
FOR XML PATH('')
),1,1,'') as combined_list
2条答案
按热度按时间epggiuax1#
如果你只需要一个合并列表,你可以使用
OPENJSON
得到一个表,然后使用FOR XML PATH
或STRING_AGG
组合成一个字符串。niwlg2el2#
从SQL Server 2017开始,可能的解决方案是
OPENJSON()
和STRING_AGG()
的组合。请注意,
JSON_VALUE()
返回一个标量值,因此当您尝试从输入JSON文本中提取JSON数组('$.fiskepind'
)时,NULL
值是预期结果。