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
,字符类型。one
:至少一个path
存在数据,返回1。all
:所有path
都存在数据,返回1。
path
: 一个或多个,JSON路径表达式,字符类型。
函数返回类型
INTEGER数值类型。
示例
基本使用
sql
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与all对比
sql
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|