繁体   English   中英

SQL 其中列包含 Json 的数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM