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"