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

Arrow function

Arrow関数

説明

JSONオブジェクト内でjson_path式により位置指定できる要素を問い合わせ、JSON値を返します。Arrow関数->は、json_query関数よりもコンパクトで使いやすいです。

構文

json_object_expr -> json_path

パラメータ

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

戻り値

JSON値を返します。

要素が存在しない場合、Arrow関数はSQL値のNULLを返します。

例1: 指定されたJSONオブジェクト内で'$.a.b'という式により位置指定できる要素を問い合わせます。

mysql> SELECT parse_json('{"a": {"b": 1}}') -> '$.a.b';

-> 1

例2: ネストされたArrow関数を使用して要素を問い合わせます。ネストされたArrow関数内のArrow関数は、ネストされたArrow関数が返す結果に基づいて要素を問い合わせます。

この例では、json_path式からルート要素$が省略されています。

mysql> SELECT parse_json('{"a": {"b": 1}}')->'a'->'b';

-> 1

例3: 指定されたJSONオブジェクト内で'a'という式により位置指定できる要素を問い合わせます。

この例では、json_path式からルート要素$が省略されています。

mysql> SELECT parse_json('{"a": "b"}') -> 'a';

-> "b"