将JSON转换为SQL Server中的逗号分隔字符串
我将以下JSON传递到SQL Server 2016中的预告仪中:
[
{
"item_name": "Settee"
},
{
"item_name": "Television"
},
{
"item_name": "Chair"
}
]
如何将item_name值转换为逗号分隔字符串,以便我得到“ settee”,“ television”,“ television”,“ caire” 我
然后可以插入表列?
这就是我所拥有的,但这只是在行列出:
select *
FROM OPENJSON(@json)
WITH (
item_name nvarchar(max) '$.item_name'
)
***更新***
我已经弄清楚了。
select items = stuff((
SELECT ', ' + j.item_name
FROM OPENJSON(@json)
WITH (
item_name nvarchar(max) '$.item_name'
) j FOR XML PATH('')
), 1, 1, '')
I have the following json passed into a prameter in SQL server 2016:
[
{
"item_name": "Settee"
},
{
"item_name": "Television"
},
{
"item_name": "Chair"
}
]
How can I convert the item_name values into a comma separated string so that I get "Settee", "Television", "Chair"
which I can then insert into a table column?
This is what I have but that just lists them in rows:
select *
FROM OPENJSON(@json)
WITH (
item_name nvarchar(max) '$.item_name'
)
*** UPDATE ***
It's ok I've figured it out.
select items = stuff((
SELECT ', ' + j.item_name
FROM OPENJSON(@json)
WITH (
item_name nvarchar(max) '$.item_name'
) j FOR XML PATH('')
), 1, 1, '')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请尝试以下解决方案。
从MS SQL Server 2016开始,它将起作用。
SQL
输出
Please try the following solution.
It will work starting from MS SQL Server 2016 onwards.
SQL
Output