SQL 2016具有一项新功能,可将SQL Server上的数据转换为JSON。我很难将对象数组组合成值数组,即
示例-
CREATE TABLE #temp (item_id VARCHAR(256)) INSERT INTO #temp VALUES ('1234'),('5678'),('7890') SELECT * FROM #temp --convert to JSON SELECT (SELECT item_id FROM #temp FOR JSON PATH,root('ids'))
结果-
{ "ids": [{ "item_id": "1234" }, { "item_id": "5678" }, { "item_id": "7890" }] }
但我希望结果为-
"ids": [ "1234", "5678", "7890" ]
有人可以帮我吗?
谢谢!我们发现的灵魂是首先转换为XML-
SELECT JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids FOR JSON PATH , WITHOUT_ARRAY_WRAPPER