メインコンテンツまでスキップ
バージョン: 26.x

JSON_EXTRACT_BIGINT

説明

JSON_EXTRACT_BIGINTは、JSONオブジェクトから<json_path>で指定されたフィールドを抽出し、BIGINT型に変換します。

構文

JSON_EXTRACT_BIGINT(<json_object>, <json_path>)

パラメータ

  • <json_object>: JSON型、抽出対象のパラメータ
  • <json_path>: String型、対象JSONから目的の要素を抽出するためのJSONパス

Return Value

Nullable(BIGINT) 抽出されたBIGINT値を返します。場合によってはNULLを返します

Usage 注釈

  1. <json_object>または<json_path>がNULLの場合、NULLを返します。

  2. <json_path>で指定された要素が存在しない場合、NULLを返します。

  3. <json_path>で指定された要素がBIGINTに変換できない場合、NULLを返します。

  4. その動作は「cast + json_extract」と一致しており、以下と同等です:

    CAST(JSON_EXTRACT(<json_object>, <json_path>) as BIGINT)

Examples

  1. 通常のパラメータ

    SELECT json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id');
    +-------------------------------------------------------------------------+
    | json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id') |
    +-------------------------------------------------------------------------+
    | 122222222222223 |
    +-------------------------------------------------------------------------+
  2. パスが存在しない場合

    SELECT json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id2');
    +--------------------------------------------------------------------------+
    | json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id2') |
    +--------------------------------------------------------------------------+
    | NULL |
    +--------------------------------------------------------------------------+
  3. NULLパラメータ

    SELECT json_extract_bigint('{"id": 122222222222223, "name": "doris"}', NULl);
    +-----------------------------------------------------------------------+
    | json_extract_bigint('{"id": 122222222222223, "name": "doris"}', NULl) |
    +-----------------------------------------------------------------------+
    | NULL |
    +-----------------------------------------------------------------------+
    SELECT json_extract_bigint(NULL, '$.id2');
    +------------------------------------+
    | json_extract_bigint(NULL, '$.id2') |
    +------------------------------------+
    | NULL |
    +------------------------------------+
  4. BIGINTへの変換ができない場合

    SELECT json_extract_bigint('{"id": 123, "name": "doris"}','$.name');
    +--------------------------------------------------------------+
    | json_extract_bigint('{"id": 123, "name": "doris"}','$.name') |
    +--------------------------------------------------------------+
    | NULL |
    +--------------------------------------------------------------+