JSON_CONTAINS_PATH
功能描述
搜索json_doc是否在给定的路径下存在数据。
语法格式
JSON_CONTAINS_PATH( json_doc, one_or_all, path[, path]... )
参数说明
json_doc:JSON目标文档,JSON类型或JSON String类型。
one_or_all:one或者all,字符类型。
path: 一个或多个,JSON路径表达式,字符类型。
说明:
- one:至少一个path存在数据,返回1。
- all: 所有path都存在数据,返回1。
函数返回类型
INTEGER数值类型
示例
sql
SQL> SELECT TO_CHAR(JSON_CONTAINS_PATH( '[1,[1,2],3]', 'one', '$[1]', '$[3]'));
EXPR1 |
------------------------------------------------------------------------------
1|
SQL> SELECT TO_CHAR(JSON_CONTAINS_PATH( '[1,[1,2],3]', 'all', '$[1]', '$[3]'));
EXPR1 |
------------------------------------------------------------------------------
0|
-- 数组类型
SQL> SELECT
TO_CHAR(JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[0]')) as `$[0]`,
TO_CHAR(JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[3]')) as `$[3]`,
TO_CHAR(JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[2].x')) as `$[2].x`;
$[0] | $[3] | $[2]x |
------------------------------------------------------------------------------
1| 0| 1|
-- one vs all
SQL> SELECT
TO_CHAR(JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'one', '$[0]', '$[3]')) as `one`,
TO_CHAR(JSON_CONTAINS_PATH('[1, 2, {"x": 3}]', 'all', '$[0]', '$[3]')) as `all`;
one | all |
------------------------------------------------------------------------------
1| 0|