假设我有一张表TableA,其中有一个属性Value1存储的是’[2,4,5]'这样的JsonArray字符串。我想筛选出所有Value1属性值包含数字2的数据,请问sql应该怎么写呢? 谢谢大家,请指导我吧。。。。。
-- 创建测试表 create table t_json(c1 int, c2 varchar2(100) CHECK (c2 IS JSON(STRICT)) ); -- 测试数据 insert into t_json values(1,'[2,4,5]'); insert into t_json values(2,'[2,3,6]'); insert into t_json values(3,'[8,3,6]'); insert into t_json values(4,'[7,8,9]'); insert into t_json values(5,'[1,2,3]'); commit;
-- 查询全部数据 select c2 FROM t_json;
-- 按条件删选 select c1,c2 from t_json WHERE json_value(c2, '$[0]')='2' OR json_value(c2, '$[1]')='2';