JSON_REMOVE
📄字数 466
👁️阅读量 加载中...
功能描述
从JSON文本中将指定路径下的数据移除。
语法格式
sql
JSON_REMOVE( json_doc, path[, path]... )输入参数
json_doc:JSON文本,JSON类型或字符类型。path:路径表达式,一个或多个。
输出结果
JSON类型。任意参数为NULL时,输出结果为NULL。
提示
- 若路径不存在值,则被忽略。
- 从左到右依次计算路径并删除元素,并将前一次删除后的结果作为下一次计算的输入。
- 以下情况将导致系统抛出错误:
1.json_doc是无效的JSON文档。
2. 任何path是无效的路径表达式或是$。
3. 路径表达式中包含*或**通配符。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
sql
-- 从数组中删除多个元素
SQL> SELECT JSON_REMOVE('[0, 1, 2, [3, 4]]', '$[0]', '$[2]');
+--------+
| EXPR1 |
+--------+
| [1, 2] |
+--------+
-- 从对象中删除一个成员
SQL> SELECT JSON_REMOVE('{"x": 1, "y": 2}', '$.x');
+----------+
| EXPR1 |
+----------+
| {"y": 2} |
+----------+