メインコンテンツまでスキップ

json_exists

json_exists

説明

JSONオブジェクトに、json_path 式で指定された要素が存在するかどうかをチェックします。要素が存在する場合、JSON_EXISTS関数は 1 を返します。存在しない場合、JSON_EXISTS関数は 0 を返します。

構文

json_exists(json_object_expr, json_path)

パラメータ

  • json_object_expr: JSONオブジェクトを表す式です。オブジェクトは、JSON列またはPARSE_JSONなどのJSONコンストラクタ関数によって生成されるJSONオブジェクトであることがあります。
  • json_path: JSONオブジェクト内の要素へのパスを表す式です。このパラメータの値は文字列です。StarRocksでサポートされているJSONパスの構文についての詳細は、JSON関数および演算子の概要を参照してください。

戻り値

BOOLEAN値を返します。

例1: 指定されたJSONオブジェクトに、'$.a.b' 式で指定された要素が存在するかどうかをチェックします。この例では、要素がJSONオブジェクト内に存在します。したがって、json_exists関数は 1 を返します。

mysql> SELECT json_exists(PARSE_JSON('{"a": {"b": 1}}'), '$.a.b') ;

-> 1

例2: 指定されたJSONオブジェクトに、'$.a.c' 式で指定された要素が存在するかどうかをチェックします。この例では、要素がJSONオブジェクト内に存在しません。したがって、json_exists関数は 0 を返します。

mysql> SELECT json_exists(PARSE_JSON('{"a": {"b": 1}}'), '$.a.c') ;

-> 0

例3: 指定されたJSONオブジェクトに、'$.a[2]' 式で指定された要素が存在するかどうかをチェックします。この例では、JSONオブジェクトである配列 a には、インデックス2の要素が含まれています。したがって、json_exists関数は 1 を返します。

mysql> SELECT json_exists(PARSE_JSON('{"a": [1,2,3]}'), '$.a[2]') ;

-> 1

例4: 指定されたJSONオブジェクトに、'$.a[3]' 式で指定された要素が存在するかどうかをチェックします。この例では、JSONオブジェクトである配列 a には、インデックス3の要素が含まれていません。したがって、json_exists関数は 0 を返します。

mysql> SELECT json_exists(PARSE_JSON('{"a": [1,2,3]}'), '$.a[3]') ;

-> 0