宣言
UNHEX(str)
説明
文字列 str 内の16進数をバイトに変換し、この関数はバイナリ文字列を返します。
文字列 str 内の文字は 0 ~ 9、A ~ F、および a ~ f の値でなければなりません。文字列に16進数以外の文字が含まれている場合、この関数は NULL を返します。
str が BINARY データ型の列であり、0x00 で埋められたバイトが存在する場合、この関数も NULL を返します。数値型のパラメータ N について、UNHEX(N) は HEX(N) の逆演算ではありません。このような場合は、CONV(HEX(N),16,10) を使用して代替できます。
特に、クライアント接続文字列内で --binary-as-hex パラメータを使用することで、バイナリ文字列を16進数で表すことを指定できます。
例
obclient> SELECT UNHEX('4f6365616e42617365');
+-----------------------------+
| UNHEX('4f6365616e42617365') |
+-----------------------------+
| OceanBase |
+-----------------------------+
1 row in set
obclient> SELECT X'4f6365616e42617365';
+-----------------------+
| X'4f6365616e42617365' |
+-----------------------+
| OceanBase |
+-----------------------+
1 row in set