问题描述
我有以下JSON
:
[
{
"email_id": 1598819368,"email": "[email protected]"
},{
"email_id": 1598819369,"email": "[email protected]"
},{
"email_id": 1598819370,"email": "[email protected]"
},{
"email_id": 1598819371,"email": "[email protected]"
}
]
如何使用sqlServer 2017返回仅电子邮件地址的列表?
-------------------
emailaddress
-------------------
[email protected]
[email protected]
[email protected]
[email protected]
我一直在尝试使用JSON_VALUE
或JSON_QUERY
,但我只能得到一个电子邮件地址或NULL。
谢谢!
解决方法
这应该做
declare @json nvarchar(max)=N'[
{
"email_id": 1598819368,"email": "[email protected]"
},{
"email_id": 1598819369,"email": "[email protected]"
},{
"email_id": 1598819370,"email": "[email protected]"
},{
"email_id": 1598819371,"email": "[email protected]"
}
]'
select email from openjson(@json) with (email_id bigint,email nvarchar(200));
结果
email
[email protected]
[email protected]
[email protected]
[email protected]