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)