SQL到JSON-SQL 2016中的对象数组到值数组 [英] SQL to JSON - array of objects to array of values in SQL 2016
本文介绍了SQL到JSON-SQL 2016中的对象数组到值数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
SQL 2016具有一项新功能,该功能可将SQL Server上的数据转换为JSON.我很难将对象数组组合成值数组,即
SQL 2016 has a new feature which converts data on SQL server to JSON. I am having difficulty in combining array of objects into array of values i.e.,
示例-
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-
Thanks! The soultion we found is converting into XML first -
SELECT
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"'
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids
FOR JSON PATH , WITHOUT_ARRAY_WRAPPER
这篇关于SQL到JSON-SQL 2016中的对象数组到值数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文