JSON_OVERLAPS
功能描述
比较两个JSON文档,测两个 JSON 文档是否拥有任何一个相同键值对或数组元素。
语法格式
JSON_OVERLAPS( json_doc1, json_doc2 )
参数说明
两个JSON文本,JSON类型或JSON String类型。
说明:
- 如果任意参数为NULL返回NULL。
- json_doc不为有效JSON文本将抛出错误。
- 如果两个JSON文档有任何共同的键值对或数组元素,则返回1。
- 如果两个JSON文档为标量,则对比两值,相等返回1。
函数返回类型
INTEGER数值类型
示例
sql
SQL> SELECT TO_CHAR(JSON_OVERLAPS('[1,3,4,5]', '[3,9,10]'));
EXPR1 |
------------------------------------------------------------------------------
1|
-- 比较数组
SELECT TO_CHAR(JSON_OVERLAPS('[1, 2, 3]', '[3, 4, 5]'));
EXPR1 |
------------------------------------------------------------------------------
1|
SQL> SELECT TO_CHAR(JSON_OVERLAPS('[1, 2, [3]]', '[3, 4, 5]'));
EXPR1 |
------------------------------------------------------------------------------
0|
-- 比较对象
SQL> SELECT
TO_CHAR(JSON_OVERLAPS('{"x": 1}', '{"x": 1, "y": 2}')),
TO_CHAR(JSON_OVERLAPS('{"x": 1}', '{"y": 2}'));
EXPR1 | EXPR2 |
------------------------------------------------------------------------------
1| 0|
-- 比较纯值和数组
SQL> SELECT
TO_CHAR(JSON_OVERLAPS('[1, 2, 3]', '3')),
TO_CHAR(JSON_OVERLAPS('[1, 2, [3]]', '3'));
EXPR1 | EXPR2 |
------------------------------------------------------------------------------
1| 0|
-- 比较纯值
SQL> SELECT TO_CHAR(JSON_OVERLAPS('1', '1')), TO_CHAR(JSON_OVERLAPS('1', '"1"'));
EXPR1 | EXPR2 |
------------------------------------------------------------------------------
1| 0|