Skip to content

JSON_CONTAINS_PATH

功能描述

搜索json_doc是否在给定的路径下存在数据。

语法格式

JSON_CONTAINS_PATH( json_doc, one_or_all, path[, path]... )

参数说明

  • json_doc:JSON目标文档,JSON类型或JSON String类型。

  • one_or_allone或者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|