VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

JSON_REPLACE

功能描述

JSON_REPLACE函数用于替换JSON属性值,返回修改后的JSON值。

语法格式

json_replace(json_doc json, path jsonpath, val [, path jsonpath, val] ...)

参数说明

  • json_doc

    被修改的json。

  • path

    被修改值的路径

  • val

    更新的新值。

    根据path使用val值更新json_doc中已存在的值,并返回修改后的json_doc。

注意事项

  • 该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
  • 如果任何参数是NULL则返回NULL。当json_doc或path参数不符合对应类型时,或者path中含有*或**通配符时,函数执行报错。
  • 该函数参数不定个数,可以传入一个json_doc和多对 (path, val) 组合实际执行时,会从左到右应用 (path, val) 组合,每应用一次就产生一个新的json_doc,下一个 (path, val) 应用在新的json_doc上。
  • 如果一个 (path, val) 无法根据path找到要更新的位置,则被跳过。

示例

调用函数。

select * from json_replace('{"a": 1, "b": [2, 3]}', '$.a', 10, '$.c', '[true, false]');

结果返回如下:

      json_replace
------------------------
 {"a": 10, "b": [2, 3]}
(1 row)