Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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