我在SQL表中有一列具有json值,如下所示:
[
{"address":{"value":"A9"},
"value":{"type":11,"value":"John"}},
{"address":{"value":"A10"},
"value":{"type":11,"value":"Doe"}}]
JSON_VALUE或JSON_QUERY的MSDN示例在根目录需要json对象。如何在上面查询返回“地址”为A9,“值”为John的行?我正在使用SQL Azure。
像这样:
declare @json nvarchar(max) = '[
{"address":{"value":"A9"},
"value":{"type":11,"value":"John"}},
{"address":{"value":"A10"},
"value":{"type":11,"value":"Doe"}}]'
select a.*
from openjson(@json) r
cross apply openjson(r.value)
with (
address nvarchar(200) '$.address.value',
name nvarchar(200) '$.value.value'
) a
where address = N'A9'
and name = N'John'
输出
address name
------- -----
A9 John
(1 row affected)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句