メインコンテンツまでスキップ
バージョン: Stable-3.3

Arrow function

説明

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 パス構文の詳細については、Overview of JSON functions and operators を参照してください。

戻り値

JSON 値を返します。

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

例 1: 指定された JSON オブジェクト内で '$.a.b' 式によって位置を特定できる要素をクエリします。

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

-> 1

例 2: 入れ子になったアロー関数を使用して要素をクエリします。別のアロー関数が入れ子になったアロー関数は、入れ子になったアロー関数によって返された結果に基づいて要素をクエリします。

この例では、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"