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