JSON_REMOVE
功能描述
JSON_REMOVE函数用于从一个JSON文档中删除由路径指定的JSON对象并返回修改后的JSON文档。
注意事项
- 该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
- 如果任何参数为NULL,则返回NULL。
- 可以通过参数提供多个路径表达式以供删除。多个路径参数会从左到右依次被执行。当执行下一个参数的时候,JSON 文档可能已经发生了变化。
- 如果JSON中不存在指定的路径,此函数返回原文档。
语法格式
JSON_REMOVE(json_doc, path[, path] ...)
参数说明
json_doc
JSON文档,它可以是一个JSON字符串,或者一个JSON列。
path
路径参数。
示例
1、创建测试表。
CREATE TABLE table_1160242(data json);
INSERT INTO table_1160242 VALUES('{"a":1}');
INSERT INTO table_1160242 VALUES('{"a":1}');
INSERT INTO table_1160242 VALUES('[1,{"a":1},{"a":1,"B":{"c":1}}]');
2、查询表数据。
SELECT * FROM table_1160242;
返回结果为:
data
---------------------------------
{"a":1}
{"a":1}
[1,{"a":1},{"a":1,"B":{"c":1}}]
(3 rows)
3、在SELECT语句中使用JSON_REMOVE函数。
SELECT json_depth(data) FROM table_1160242;
返回结果为:
json_depth
------------
2
2
4
(3 rows)
4、清理环境。
DROP TABLE table_1160242;