[英]Microsoft SQL find rows where column contains all items in an array
[英]SQL Where Column Contains Array of Json
我正在尝试查询包含 json 对象数组的列。
object 的数组如下所示:
[
{
"TYPE": "car",
"NAME": "lucy"
},
{
"TYPE": "bus",
"NAME": "bob"
},
{
"TYPE": "car",
"NAME": "mary"
}
]
如果列包含 type = "car" 和 name = "lucy" 的对象,我正在尝试 select
您可以使用OPENJSON
将数组拆分为单独的行:
SELECT j.*
FROM YourTable t
CROSS APPLY OPENJSON(t.) WITH (
[TYPE] varchar(50),
[NAME] varchar(50)
) j
WHERE j.[TYPE] = 'car' AND j.[NAME] = 'lucy'
或者,如果您只想基于此过滤主表,请将其放在WHERE
SELECT t.*
FROM YourTable t
WHERE EXISTS (SELECT 1
FROM OPENJSON(t.) WITH (
[TYPE] varchar(50),
[NAME] varchar(50)
) j
WHERE j.[TYPE] = 'car' AND j.[NAME] = 'lucy'
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.