- カテゴリ:
文字列とバイナリ関数 (エンコード/デコード)
TRY_BASE64_DECODE_STRING¶
デコード中にエラーが発生した場合に NULL 値を返す BASE64_DECODE_STRING の特別なバージョンです。
BASE64_DECODE_STRING
および TRY_BASE64_DECODE_STRING
は、 BASE64_ENCODE
の「相反」(または「逆」)関数です。
構文¶
TRY_BASE64_DECODE_STRING(<input> [, <alphabet>])
引数¶
input
通常の文字列にデコードするbase64エンコード文字列です。
alphabet
最大3つの ASCII 文字で構成される文字列です。
文字列の最初の2文字は、入力のエンコードに使用されるアルファベットの最後の2文字(インデックス62および63)を指定します。
A
からZ
(インデックス0~25)a
からz
(インデックス26~51)0
から9
(インデックス52~61)+
および/
(インデックス62、63)
デフォルト:
+
および/
文字列の3番目の文字は、パディングに使用される文字を指定します。
デフォルト:
=
戻り値¶
文字列です。
使用上の注意¶
base64形式の詳細については、 base64 をご参照ください。
例¶
これは、関数の使用方法を示し、 TRY_BASE64_DECODE_STRING
が BASE64_ENCODE
の逆であることを示しています。
SELECT TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO')); +--------------------------------------------------+ | TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO')) | |--------------------------------------------------| | HELLO | +--------------------------------------------------+
これは、より現実的な例を示しています。
テーブルとデータを作成します。
CREATE TABLE base64 (v VARCHAR, base64_string VARCHAR, garbage VARCHAR); INSERT INTO base64 (v, base64_string, garbage) SELECT 'HELLO', BASE64_ENCODE('HELLO'), '127';
TRY_BASE64_DECODE_STRING
関数を使用してデータをクエリします。SELECT v, base64_string, TRY_BASE64_DECODE_STRING(base64_string), TRY_BASE64_DECODE_STRING(garbage) FROM base64; +-------+---------------+-----------------------------------------+-----------------------------------+ | V | BASE64_STRING | TRY_BASE64_DECODE_STRING(BASE64_STRING) | TRY_BASE64_DECODE_STRING(GARBAGE) | |-------+---------------+-----------------------------------------+-----------------------------------| | HELLO | SEVMTE8= | HELLO | NULL | +-------+---------------+-----------------------------------------+-----------------------------------+