注册

删除jsonarray元素

DM_838690 2024/11/14 333 3

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:kylin
【CPU】:
【问题描述】*:我建立了如下数据,字段dijson为jsonarray,我想删除所有数组里的80002,能一次删除吗?

create table t_json (id varchar2(20), idjson varchar2(100) CHECK (idjson IS JSON));
insert into t_json(id,idjson) values('100','[1000,10001,80002]');
insert into t_json(id,idjson) values('101','[2000,80002,20002]');
insert into t_json(id,idjson) values('102','[80002,30001,30002]');

另一个问题:$[*]通配符报错,不知道为什么?下面写法有什么问题吗?

//运行报错:json处理错误
SELECT * FROM t_json WHERE JSON_CONTAINS(idjson, '80002', '$[*]'); 

//运行成功
SELECT * FROM t_json WHERE JSON_CONTAINS(idjson, '80002', '$[1]'); 
回答 0
暂无回答
扫一扫
联系客服