Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


JSON_MERGE_PRESERVE

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

功能描述

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

语法格式

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

输入参数

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

输出结果

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

提示

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

示例

sql
-- 合并标量值
SQL> SELECT JSON_MERGE_PRESERVE('1', 'true');

+-----------+
|   EXPR1   |
+-----------+
| [1, true] |
+-----------+

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

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

-- 合并对象
SQL> SELECT JSON_MERGE_PRESERVE('{"x": 1}', '{"x": 2, "y": 3}');

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

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

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