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)')
;

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/adjsn/condition-JSON_EXISTS.html#GUID-D60A7E52-8819-4D33-AEDB-223AB7BDE60A