メインコンテンツまでスキップ
に最終更新

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 を返します。

使用上の注意​

  1. <json_object> または <json_path> が NULL の場合は NULL を返します。
  2. <json_path> が指す要素が存在しない場合は NULL を返します。
  3. <json_path> が指す値を LARGEINT 型に変換できない場合は NULL を返します。
  4. 動作は「CAST と JSON_EXTRACT の組み合わせ」と同じで、次の式と等価です。
    CAST(JSON_EXTRACT(<json_object>, <json_path>) as LARGEINT)

例​

  1. 通常の使用例
    SELECT json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id');
    +--------------------------------------------------------------------------------+
    | json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id') |
    +--------------------------------------------------------------------------------+
    | 11529215046068469760 |
    +--------------------------------------------------------------------------------+
  2. パスが存在しない場合
    SELECT json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id2');
    +---------------------------------------------------------------------------------+
    | json_extract_largeint('{"id": 11529215046068469760, "name": "doris"}', '$.id2') |
    +---------------------------------------------------------------------------------+
    | NULL |
    +---------------------------------------------------------------------------------+
  3. 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 |
    +--------------------------------------+
  4. LARGEINT 型に変換できない場合
    SELECT json_extract_largeint('{"id": 123, "name": "doris"}','$.name');
    +----------------------------------------------------------------+
    | json_extract_largeint('{"id": 123, "name": "doris"}','$.name') |
    +----------------------------------------------------------------+
    | NULL |
    +----------------------------------------------------------------+