- カテゴリ:
文字列とバイナリ関数 (エンコード/デコード)
TRY_BASE64_DECODE_BINARY¶
デコード中にエラーが発生した場合に NULL 値を返す BASE64_DECODE_BINARY の特別なバージョンです。
構文¶
TRY_BASE64_DECODE_BINARY(<input> [, <alphabet>])
引数¶
input
BINARY データ型に変換するbase64エンコード文字列です。
alphabet
最大3つの ASCII 文字で構成される文字列です。
文字列の最初の2文字は、入力のエンコードに使用されるアルファベットの最後の2文字(インデックス62および63)を指定します。
A
からZ
(インデックス0~25)a
からz
(インデックス26~51)0
から9
(インデックス52~61)+
および/
(インデックス62、63)
デフォルト:
+
および/
文字列の3番目の文字は、パディングに使用される文字を指定します。
デフォルト:
=
戻り値¶
これは BINARY
値を返します。例えば、値は BINARY
型の列に挿入できます。
使用上の注意¶
base64形式の詳細については、 base64 をご参照ください。
例¶
これは、関数 TRY_BASE64_DECODE_BINARY
の使用方法を示しています。この関数は、base64でエンコードされた文字列を BINARY フィールド 内に デコードするために INSERT
ステートメントで使用されます。この関数は SELECT
ステートメントでは使用されません。
テーブルを作成してデータを挿入します。
CREATE TABLE base64 (v VARCHAR, base64_encoded_varchar VARCHAR, b BINARY); INSERT INTO base64 (v, base64_encoded_varchar, b) SELECT 'HELP', BASE64_ENCODE('HELP'), TRY_BASE64_DECODE_BINARY(BASE64_ENCODE('HELP'));クエリを実行して、データをそのまま取得できることを示します。
SELECT v, base64_encoded_varchar, -- Convert binary -> base64-encoded-string TO_VARCHAR(b, 'BASE64'), -- Convert binary back to original value TO_VARCHAR(b, 'UTF-8') FROM base64; +------+------------------------+-------------------------+------------------------+ | V | BASE64_ENCODED_VARCHAR | TO_VARCHAR(B, 'BASE64') | TO_VARCHAR(B, 'UTF-8') | |------+------------------------+-------------------------+------------------------| | HELP | SEVMUA== | SEVMUA== | HELP | +------+------------------------+-------------------------+------------------------+