JSON_OVERLAPS
📄字数 514
👁️阅读量 加载中...
功能描述
比较两个JSON文本,检查两个JSON文本是否拥有任何一个相同键值对或数组元素。
语法格式
sql
JSON_OVERLAPS( json_doc1, json_doc2 )
输入参数
json_doc1
:JSON文本,JSON类型或字符类型。json_doc2
:JSON文本,JSON类型或字符类型。
输出结果
INTEGER类型。任意参数为NULL
时,输出结果为NULL
。
提示
- 如果
json_doc
是无效JSON文本将抛出错误。 - 如果两个JSON文档有任何共同的键值对或数组元素,则返回1。
- 如果两个JSON文档为标量,则对比两值,相等返回1。
示例
sql
-- 比较数组
SQL> SELECT JSON_OVERLAPS('[1, 2, 3]', '[3, 4, 5]');
+-------+
| EXPR1 |
+-------+
| 1 |
+-------+
SQL> SELECT JSON_OVERLAPS('[1, 2, [3]]', '[3, 4, 5]');
+-------+
| EXPR1 |
+-------+
| 0 |
+-------+
-- 比较对象
SQL> SELECT JSON_OVERLAPS('{"x": 1}', '{"x": 1, "y": 2}'),
JSON_OVERLAPS('{"x": 1}', '{"y": 2}');
+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| 1 | 0 |
+-------+-------+
-- 比较标量值和数组
SQL> SELECT JSON_OVERLAPS('[1, 2, 3]', '3'),
JSON_OVERLAPS('[1, 2, [3]]', '3');
+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| 1 | 0 |
+-------+-------+
-- 比较标量值
SQL> SELECT JSON_OVERLAPS('1', '1'), JSON_OVERLAPS('1', '"1"');
+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| 1 | 0 |
+-------+-------+