- カテゴリ:
文字列とバイナリ関数 (エンコード/デコード)
TRY_HEX_DECODE_BINARY¶
デコード中にエラーが発生した場合に NULL 値を返す HEX_DECODE_BINARY の特別なバージョンです。
構文¶
TRY_HEX_DECODE_BINARY(<input>)
引数¶
input
16進数のみを含む文字列式です。通常、この入力文字列は関数 HEX_ENCODE を呼び出して生成されます。
戻り値¶
BINARY
型の列に挿入できる BINARY
値などです。
例¶
これは、関数 TRY_HEX_DECODE_BINARY
の使用方法を示しています(関数は INSERT
ステートメントで使用され、BINARY フィールド 内に デコードされます。この関数は SELECT
ステートメントでは使用されません。
テーブルとデータを作成します。
CREATE TABLE hex (v VARCHAR, b BINARY); INSERT INTO hex (v, b) SELECT 'ABab', -- Convert string -> hex-encoded string -> binary. TRY_HEX_DECODE_BINARY(HEX_ENCODE('ABab'));クエリを実行して、データをそのまま取得できることを示します。
SELECT v, b, -- Convert binary -> hex-encoded-string -> string. TRY_HEX_DECODE_STRING(TO_VARCHAR(b)) FROM hex;出力:
+------+----------+--------------------------------------+ | V | B | TRY_HEX_DECODE_STRING(TO_VARCHAR(B)) | |------+----------+--------------------------------------| | ABab | 41426162 | ABab | +------+----------+--------------------------------------+