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”?你在这里做了两个假设,但都是错误的。否决票不是我投的;我完全理解这个问题。自从我问你我的问题后,我就没有上网过;你已经从另一张海报上得到了正确答案。好的,对不起。我不知道是谁,谢谢!这正是我所期望的。