カテゴリ:

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

TRY_HEX_DECODE_STRING

デコード中にエラーが発生した場合に NULL 値を返す HEX_DECODE_STRING の特別なバージョンです。

構文

TRY_HEX_DECODE_STRING(<input>)

引数

入力

16進数でエンコードされた文字列の式です。通常、入力は HEX_ENCODE の呼び出しによって作成されます。

戻り値

返される値は文字列(VARCHAR)です。

これは、関数の使用方法を示しています。

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

CREATE TABLE hex (v VARCHAR, hex_string VARCHAR, garbage VARCHAR);
INSERT INTO hex (v, hex_string, garbage) 
  SELECT 'AaBb', HEX_ENCODE('AaBb'), '127';

クエリを実行します。

SELECT v, hex_string, TRY_HEX_DECODE_STRING(hex_string), TRY_HEX_DECODE_STRING(garbage) FROM hex;

出力:

+------+------------+-----------------------------------+--------------------------------+
| V    | HEX_STRING | TRY_HEX_DECODE_STRING(HEX_STRING) | TRY_HEX_DECODE_STRING(GARBAGE) |
|------+------------+-----------------------------------+--------------------------------|
| AaBb | 41614262   | AaBb                              | NULL                           |
+------+------------+-----------------------------------+--------------------------------+