JSON_CONTAINS_PATH
📄字数 464
👁️阅读量 加载中...
功能描述
搜索json_doc
是否在给定的路径下存在数据。
语法格式
sql
JSON_CONTAINS_PATH( json_doc, one_or_all, path[, path]... )
输入参数
json_doc
:JSON目标文本,JSON类型或字符类型。one_or_all
:one
或者all
,字符类型。one
:至少有一个path
存在数据。all
:所有path
都存在数据。
path
: 一个或多个,JSON路径表达式,字符类型。
输出结果
输出结果为 INTEGER
类型,返回 0 或 1 以指示 JSON 文档是否包含给定路径或路径中的数据。如果任意参数为 NULL
,则输出结果 NULL
。
示例
sql
-- 查找路径下是否数据
SQL> SELECT JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[0]'),
JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[3]'),
JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[2].x');
+-------+-------+-------+
| EXPR1 | EXPR2 | EXPR3 |
+-------+-------+-------+
| 1 | 0 | 1 |
+-------+-------+-------+
-- one与all对比
SQL> SELECT JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'one', '$[0]', '$[3]'),
JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[0]', '$[3]');
+-------+-------+
| EXPR1 | EXPR2 |
+-------+-------+
| 1 | 0 |
+-------+-------+