[英]SQL Where Column Contains Array of Json
I am trying to query a column that contains an array of json objects.我正在尝试查询包含 json 对象数组的列。
The array of object looks like this: object 的数组如下所示:
[
{
"TYPE": "car",
"NAME": "lucy"
},
{
"TYPE": "bus",
"NAME": "bob"
},
{
"TYPE": "car",
"NAME": "mary"
}
]
I am trying to select if the column contains objects with type = "car" and name = "lucy"如果列包含 type = "car" 和 name = "lucy" 的对象,我正在尝试 select
You can use OPENJSON
to break out the array into separate rows:您可以使用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'
Or if you want to just filter the main table based on that, put it inside a WHERE
或者,如果您只想基于此过滤主表,请将其放在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.