跳到主要内容

JSON_REMOVE

描述

该函数用于从 JSON 文档中删除数据并返回结果。

语法

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

说明

json_doc 参数用于指定 JSON 文档,path 为路径参数。如果任何参数为 NULL,则返回 NULL

以下情况都会发生报错:

  • json_doc 参数不是有效的 JSON 文档。

  • path 参数不是有效的路径表达式。

  • path 参数是 $

  • path 参数包含 * 或 ** 通配符。

path 参数按照从左到右进行计算,即通过评估一条路径产生的文档作为评估下一条路径的新值。

如果要移除的元素在文档中不存在,则不会产生错误。在这种情况下,路径不会影响文档。

示例

SET @jn = '["a", ["b", "c"], "d"]';
Query OK, 0 rows affected (0.000 sec)

SELECT JSON_REMOVE(@jn, '$[1]');
+--------------------------+
| JSON_REMOVE(@jn, '$[1]') |
+--------------------------+
| ["a", "d"] |
+--------------------------+
1 row in set (0.001 sec)

SELECT JSON_REMOVE(@jn, '$[7]');
+--------------------------+
| JSON_REMOVE(@jn, '$[7]') |
+--------------------------+
| ["a", ["b", "c"], "d"] |
+--------------------------+
1 row in set (0.001 sec)