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