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 注釈
-
<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)
Examples
-
通常のパラメータ
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 |
+--------------------------------------------------------------+