簡體   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