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] |
+------------------+