カテゴリ:

文字列とバイナリ関数 (エンコード/デコード)

BASE64_DECODE_STRING

Base64でエンコードされた文字列を文字列にデコードします。

こちらもご覧ください:

TRY_BASE64_DECODE_STRING

BASE64_DECODE_BINARYBASE64_ENCODE

構文

BASE64_DECODE_STRING( <input> [ , <alphabet> ] )

引数

必須:

入力

Base64でエンコードされた文字列式です。

オプション:

アルファベット

最大3つの ASCII 文字で構成される文字列です。

  • 文字列の最初の2文字は、入力のエンコードに使用されるアルファベットの最後の2文字(インデックス62および63)を指定します。

    • A から Z (インデックス0~25)

    • a から z (インデックス26~51)

    • 0 から 9 (インデックス52~61)

    • + および / (インデックス62、63)

    デフォルト: + および /

  • 文字列の3番目の文字は、パディングに使用される文字を指定します。

    デフォルト: =

戻り値

文字列です。

使用上の注意

  • アルファベット 文字列の文字は位置的に解析されます。文字列の2番目または3番目の位置に異なる文字を指定するには、デフォルトを使用する場合でも、先行するすべての文字を明示的に指定する必要があります。

    例:

    • +$ は、インデックス62のデフォルト(+)とインデックス63の別の文字($)を指定します。パディングに明示的に文字が指定されていないため、デフォルトの文字(=)が使用されます。

    • +/% は、インデックス62および63のデフォルト(+ および /)を指定し、パディングに異なる文字(%)を指定します。

  • 入力 をデコードするために使用される アルファベット 文字列は、 入力 をエンコードするために最初に使用された文字列と 一致する必要があります

base64形式の詳細については、 Base64 をご参照ください。

これは、 BASE64_DECODE_STRING の簡単な使用例を示しています。

SELECT BASE64_DECODE_STRING('U25vd2ZsYWtl');
+--------------------------------------+
| BASE64_DECODE_STRING('U25VD2ZSYWTL') |
|--------------------------------------|
| Snowflake                            |
+--------------------------------------+

これは、 BASE64_DECODE_STRING を使用する別の例を示しています。

テーブルとデータを作成します。

CREATE OR REPLACE TABLE base64_table (v VARCHAR, base64_string VARCHAR);
INSERT INTO base64_table (v) VALUES ('HELLO');
UPDATE base64_table SET base64_string = BASE64_ENCODE(v);

BASE64_DECODE_STRING を使用してクエリを実行します。

SELECT v, base64_string, BASE64_DECODE_STRING(base64_string) 
    FROM base64_table;
+-------+---------------+-------------------------------------+
| V     | BASE64_STRING | BASE64_DECODE_STRING(BASE64_STRING) |
|-------+---------------+-------------------------------------|
| HELLO | SEVMTE8=      | HELLO                               |
+-------+---------------+-------------------------------------+