に最終更新
JSON_EXTRACT_LARGEINT
説明
JSON_EXTRACT_LARGEINT は、JSON オブジェクトから <json_path> が指す値を抽出し、LARGEINT 型に変換します。
構文
JSON_EXTRACT_LARGEINT(<json_object>, <json_path>)
パラメータ
| パラメータ | 説明 |
|---|---|
<json_object> | 抽出元の JSON 型の値。 |
<json_path> | 抽出する要素を指定する文字列型の JSON パス。 |
戻り値
Nullable(LARGEINT) を返します。JSON パスが指す値を LARGEINT 型に変換した結果です。入力が NULL の場合、パスが存在しない場合、または値を LARGEINT 型に変換できない場合は NULL を返します。
使用上の注意
<json_object>または<json_path>が NULL の場合は NULL を返します。<json_path>が指す要素が存在しない場合は NULL を返します。<json_path>が指す値を LARGEINT 型に変換できない場合は NULL を返します。- 動作は「CAST と JSON_EXTRACT の組み合わせ」と同じで、次の式と等価です。
CAST(JSON_EXTRACT(<json_object>, <json_path>) as LARGEINT)
例
- 通常の使用例
SELECT json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id');+--------------------------------------------------------------------------------+
| json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id') |
+--------------------------------------------------------------------------------+
| 11529215046068469760 |
+--------------------------------------------------------------------------------+ - パスが存在しない場合
SELECT json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id2');+---------------------------------------------------------------------------------+
| json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id2') |
+---------------------------------------------------------------------------------+
| NULL |
+---------------------------------------------------------------------------------+ - NULL を渡した場合
SELECT json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', NULl);+------------------------------------------------------------------------------+
| json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', NULl) |
+------------------------------------------------------------------------------+
| NULL |
+------------------------------------------------------------------------------+SELECT json_extract_largeint(NULL, '$.id2');+--------------------------------------+
| json_extract_largeint(NULL, '$.id2') |
+--------------------------------------+
| NULL |
+--------------------------------------+ - LARGEINT 型に変換できない場合
SELECT json_extract_largeint('{"id": 123, "name": "doris"}','$.name');+----------------------------------------------------------------+
| json_extract_largeint('{"id": 123, "name": "doris"}','$.name') |
+----------------------------------------------------------------+
| NULL |
+----------------------------------------------------------------+