Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


JSON_MERGE

📄字数 434
👁️阅读量 加载中...

功能描述

合并两个或更多的 JSON 文本,将保留重复键的成员,与 JSON_MERGE_PRESERVE 同义。

语法格式

sql
JSON_MERGE( json_doc, json_doc[, json_doc]... )

输入参数

  • json_doc:两个以上JSON文本,JSON类型或字符类型。

输出结果

JSON类型。任意参数为NULL时,输出结果为NULL

提示

  • 两个数组合并为一个数组。
  • 两个对象合并为一个对象。
  • 标量值将被包装为数组并合并为数组。
  • 数组、对象合并,将对象合并到数组。
  • 如果json_doc是无效JSON文本将抛出错误。

示例

sql
-- 合并两个JSON对象
SQL> SELECT JSON_MERGE('{"x": 1}', '{"x": 2, "y": 3}');

+-----------------------+
|         EXPR1         |
+-----------------------+
| {"x": [1, 2], "y": 3} |
+-----------------------+

-- 合并多个JSON数组
SQL> SELECT JSON_MERGE('[1, 2]', '[2, 3]', '[3, 4, 5]');

+-----------------------+
|         EXPR1         |
+-----------------------+
| [1, 2, 2, 3, 3, 4, 5] |
+-----------------------+

-- 合并标量值
SQL> SELECT JSON_MERGE('1', 'true', '"hello"', 'null');

+--------------------------+
|          EXPR1           |
+--------------------------+
| [1, true, "hello", null] |
+--------------------------+

-- 合并数组和对象
SQL> SELECT JSON_MERGE('{"x": 1}', '[1, 2]');

+------------------+
|      EXPR1       |
+------------------+
| [{"x": 1}, 1, 2] |
+------------------+