json_exists
Description
Checks whether a JSON object contains an element that can be located by the json_path
expression. If the element exists, the JSON_EXISTS function returns 1
. Otherwise, the JSON_EXISTS function returns 0
.
Syntax
json_exists(json_object_expr, json_path)
Parameters
-
json_object_expr
: the expression that represents the JSON object. The object can be a JSON column, or a JSON object that is produced by a JSON constructor function such as PARSE_JSON. -
json_path
: the expression that represents the path to an element in the JSON object. The value of this parameter is a string. For more information about the JSON path syntax that is supported by StarRocks, see Overview of JSON functions and operators.
Return value
Returns a BOOLEAN value.
Examples
Example 1: Check whether the specified JSON object contains an element that can be located by the '$.a.b'
expression. In this example, the element exists in the JSON object. Therefore, the json_exists function returns 1
.
mysql> SELECT json_exists(PARSE_JSON('{"a": {"b": 1}}'), '$.a.b') ;
-> 1
Example 2: Check whether the specified JSON object contains an element that can be located by the '$.a.c'
expression. In this example, the element does not exist in the JSON object. Therefore, the json_exists function returns 0
.
mysql> SELECT json_exists(PARSE_JSON('{"a": {"b": 1}}'), '$.a.c') ;
-> 0
Example 3: Check whether the specified JSON object contains an element that can be located by the '$.a[2]'
expression. In this example, the JSON object, which is an array named a, contains an element at index 2. Therefore, the json_exists function returns 1
.
mysql> SELECT json_exists(PARSE_JSON('{"a": [1,2,3]}'), '$.a[2]') ;
-> 1
Example 4: Check whether the specified JSON object contains an element that can be located by the '$.a[3]'
expression. In this example, the JSON object, which is an array named a, does not contain an element at index 3. Therefore, the json_exists function returns 0
.
mysql> SELECT json_exists(PARSE_JSON('{"a": [1,2,3]}'), '$.a[3]') ;
-> 0