Skip to content

JSON_REMOVE

功能描述

从JSON文档中将指定路径下的数据移除。

语法格式

JSON_REMOVE( json_doc, path[, path]... )

参数说明

  • json_doc:JSON文本,JSON类型或JSON String类型。
  • path:路径表达式,一个或多个。

说明:

  • 如果任意参数为NULL返回NULL。
  • 若路径不存在值,则被忽略。
  • 从左到右依次计算路径并删除元素,并将前一次删除后的结果作为下一次计算的输入。
  • 以下情况将导致系统抛出错误:
    - json_doc是无效的JSON文档。
    - 任何path是无效的路径表达式或是$
    - 路径表达式中包含***通配符。

函数返回类型

JSON数值类型。

示例

从数组中删除

下面语句使用JSON_REMOVE()从一个JSON数组中删除索引为0和2的元素。先删除索引[0]的值,将删除索引[0]后的结果[1,2,[3,4]]作为删除索引[2]的输入再处理。

sql
SQL> SELECT TO_CHAR(JSON_REMOVE('[0, 1, 2, [3, 4]]', '$[0]', '$[2]'));

EXPR1 | 
------------------------------------------------------------------------------
[1, 2]|

从对象中删除

下面语句使用JSON_REMOVE()从一个JSON对象中删除一个成员x。

sql
SQL> SELECT TO_CHAR(JSON_REMOVE('{"x": 1, "y": 2}', '$.x'));

EXPR1 | 
------------------------------------------------------------------------------
{"y": 2}|