json_query
json_query
説明
JSONオブジェクト内のjson_path
式によって特定される要素の値をクエリし、JSON値を返します。
構文
json_query(json_object_expr, json_path)
パラメータ
json_object_expr
: JSONオブジェクトを表す式です。オブジェクトはJSONカラム、またはPARSE_JSONなどのJSONコンストラクタ関数によって生成されたJSONオブジェクトです。json_path
: JSONオブジェクト内の要素へのパスを表す式です。このパラメータの値は文字列です。StarRocksでサポートされているJSONパスの構文については、JSONの関数と演算子の概要を参照してください。
返り値
JSON値を返します。
要素が存在しない場合、json_query関数は
NULL
となるSQL値を返します。
例
例 1: 指定されたJSONオブジェクト内の'$.a.b'
式によって特定される要素の値をクエリします。この例では、json_query関数はJSON値1
を返します。
mysql> SELECT json_query(PARSE_JSON('{"a": {"b": 1}}'), '$.a.b') ;
-> 1
例 2: 指定されたJSONオブジェクト内の'$.a.c'
式によって特定される要素の値 をクエリします。この例では、要素が存在しないため、json_query関数はNULL
となるSQL値を返します。
mysql> SELECT json_query(PARSE_JSON('{"a": {"b": 1}}'), '$.a.c') ;
-> NULL
例 3: 指定されたJSONオブジェクト内の'$.a[2]'
式によって特定される要素の値をクエリします。この例では、配列aという名前のJSONオブジェクトにはインデックス2の要素が含まれ、その要素の値は3です。したがって、JSON_QUERY関数はJSON値3
を返します。
mysql> SELECT json_query(PARSE_JSON('{"a": [1,2,3]}'), '$.a[2]') ;
-> 3
例 4: 指定されたJSONオブジェクト内の'$.a[3]'
式によって特定される要素をクエリします。この例では、配列aという名前のJSONオブジェクトにはインデックス3の要素が含まれていないため、json_query関数はNULL
となるSQL値を返します。
mysql> SELECT json_query(PARSE_JSON('{"a": [1,2,3]}'), '$.a[3]') ;
-> NULL