Select 行,其中 json 数组包含特定元素
Select rows where json array contains specific element
我在 Oracle 数据库中有一个 table,其中有一个 JSON 列。该列是整数数组:
CREATE TABLE orders (
id NUMBER,
products CLOB CHECK (products IS JSON)
);
INSERT INTO orders VALUES (1, '[5, 8, 12]');
INSERT INTO orders VALUES (2, '[3, 7, 19]');
我想 select 产品数组包含数字 8 的行。正确的 SQL 查询是什么?
select *
from orders
where json_exists(products, '$[*]?(@ == 8)')
;
我在 Oracle 数据库中有一个 table,其中有一个 JSON 列。该列是整数数组:
CREATE TABLE orders (
id NUMBER,
products CLOB CHECK (products IS JSON)
);
INSERT INTO orders VALUES (1, '[5, 8, 12]');
INSERT INTO orders VALUES (2, '[3, 7, 19]');
我想 select 产品数组包含数字 8 的行。正确的 SQL 查询是什么?
select *
from orders
where json_exists(products, '$[*]?(@ == 8)')
;