类别:

字符串和二进制函数 (编码/解码)

HEX_DECODE_BINARY

将十六进制编码的字符串解码为二进制值。

另请参阅:

TRY_HEX_DECODE_BINARY

语法

HEX_DECODE_BINARY(<input>)
Copy

实参

input

仅包含十六进制数字的字符串表达式。通常,此输入字符串是通过调用 HEX_ENCODE 函数生成的。

返回

例如,可以在类型 BINARY 的列中插入的 BINARY 值。

示例

从一个字符串开始;将字符串编码为表示十六进制数字的字符;然后使用 HEX_DECODE_BINARY 将这些十六进制数字字符转换为 BINARY:

创建并填写表:

CREATE TABLE binary_table (v VARCHAR, b BINARY);
INSERT INTO binary_table (v, b) 
    SELECT 'HELLO', HEX_DECODE_BINARY(HEX_ENCODE('HELLO'));
Copy

现在,检索 BINARY 值并将其显示为原始字符串(在输出的第 3 列中):

SELECT v, b, HEX_DECODE_STRING(TO_VARCHAR(b)) FROM binary_table;
+-------+------------+----------------------------------+
| V     | B          | HEX_DECODE_STRING(TO_VARCHAR(B)) |
|-------+------------+----------------------------------|
| HELLO | 48454C4C4F | HELLO                            |
+-------+------------+----------------------------------+
Copy

解码一个十六进制编码的二进制文件(由 MD5_BINARY 输出):

SELECT HEX_DECODE_BINARY(HEX_ENCODE(MD5_BINARY('Snowflake')));

--------------------------------------------------------+
 HEX_DECODE_BINARY(HEX_ENCODE(MD5_BINARY('SNOWFLAKE'))) |
--------------------------------------------------------+
 EDF1439075A83A447FB8B630DDC9C8DE                       |
--------------------------------------------------------+
Copy
语言: 中文