VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

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;