Sql 将值替换为JSON\u数组\u T
我有这样一个数组:Sql 将值替换为JSON\u数组\u T,sql,json,oracle,plsql,Sql,Json,Oracle,Plsql,我有这样一个数组: ["value_1", "value_2", "value_3"] 我想将第二个位置上的值_2替换为相同位置上的值_4;使用JSON_数组 结果必须是: ["value_1", "value_4", "value_3"] 有办法吗?或者我必须删除并放置?这样说: 对于数组,put()还接受可选的第三个参数,OVERWRITE。这是一个BOOLEAN值(默
["value_1", "value_2", "value_3"]
我想将第二个位置上的值_2替换为相同位置上的值_4;使用JSON_数组
结果必须是:
["value_1", "value_4", "value_3"]
有办法吗?或者我必须删除并放置?这样说:
对于数组,put()
还接受可选的第三个参数,OVERWRITE
。这是一个BOOLEAN
值(默认值FALSE
),表示是否替换给定位置的现有值
所以你需要做:
declare
arr JSON_ARRAY_T;
begin
arr := JSON_ARRAY_T('["value_1", "value_2", "value_3"]');
arr.put(1, 'value_4', true);
dbms_output.put_line(arr.stringify);
end;
/
请澄清您的问题。是否需要将数组中的第二个值替换为“value_4”,而不管它有什么值?或者你是否需要用“value_4”替换“value_2”,无论在什么位置找到“value_2”?你在这里做了两个假设,但都是错误的。否决票不是我投的;我完全理解这个问题。自从我问你我的问题后,我就没有上网过;你已经从另一张海报上得到了正确答案。好的,对不起。我不知道是谁,谢谢!这正是我所期望的。