に最終更新
JSON_EXTRACT_BIGINT
説明
JSON_EXTRACT_BIGINT は JSON オブジェクトから <json_path> で指定したフィールドを抽出し、BIGINT 型に変換します。
構文
JSON_EXTRACT_BIGINT(<json_object>, <json_path>)
パラメータ
<json_object>: 抽出元となる JSON 型のパラメータです。<json_path>: 対象の JSON から要素を抽出するための String 型の JSON パスです。
戻り値
Nullable(BIGINT) 抽出した BIGINT 値を返します。場合によっては NULL を返します
使用上の注意
<json_object>または<json_path>が NULL の場合は NULL を返します。<json_path>で指定した要素が存在しない場合は NULL を返します。<json_path>で指定した要素を BIGINT に変換できない場合は NULL を返します。- 動作は "cast + json_extract" と同じで、次の式に相当します。
CAST(JSON_EXTRACT(<json_object>, <json_path>) as BIGINT)
例
- 通常のパラメータ
SELECT json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id');+-------------------------------------------------------------------------+
| json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id') |
+-------------------------------------------------------------------------+
| 122222222222223 |
+-------------------------------------------------------------------------+ - パスが存在しない場合
SELECT json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id2');+--------------------------------------------------------------------------+
| json_extract_bigint('{"id": 122222222222223, "name": "doris"}', '$.id2') |
+--------------------------------------------------------------------------+
| NULL |
+--------------------------------------------------------------------------+ - 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 |
+------------------------------------+ - BIGINT に変換できない場合
SELECT json_extract_bigint('{"id": 123, "name": "doris"}','$.name');+--------------------------------------------------------------+
| json_extract_bigint('{"id": 123, "name": "doris"}','$.name') |
+--------------------------------------------------------------+
| NULL |
+--------------------------------------------------------------+