MySQL 函数

MySQL HEX() 函数返回一个包含十进制或字符串值的十六进制表示形式的字符串。

对于字符串参数 str,此函数返回 str 的十六进制字符串表示形式,其中 str 中每个字符的每个字节都转换为两个十六进制数字(对于多字节字符,将变为两个以上数字) 。可以使用 UNHEX() 函数执行此操作的逆操作。

对于数字参数 N,此函数返回 N 值的十六进制字符串表示形式。这相当于使用 CONV() 函数和 CONV(N, 10, 16) 语法。可以通过使用带有 CONV(HEX(N), 16 的 CONV() 函数来执行此操作的逆操作, 10) 语法。

语法

/* 使用字符串参数 */
HEX(str)

/* 使用数字参数 */
HEX(N) 

参数

str必填。 指定要转换为十六进制表示形式的字符串。
N必填。 指定要转换为十六进制表示的数字。

返回值

返回十进制或十进制的十六进制表示字符串值。

示例 1:

下面的示例展示了 HEX() 函数的用法。

mysql> SELECT X'78797A', HEX('xyz'), UNHEX(HEX('xyz'));
Result: 'xyz', '78797A', 'xyz'

mysql> SELECT X'53514C', HEX('SQL'), UNHEX(HEX('SQL'));
Result: 'SQL', '53514C', 'SQL'

mysql> SELECT HEX(255), CONV(HEX(255), 16, 10);
Result: 'FF', '255'

mysql> SELECT HEX(500), CONV(HEX(500), 16, 10);
Result: '1F4', '500' 

示例 2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

Datax
Data 110
Data 220
Data 330
Data 440
Data 550

下面给出的语句可用于获取x 列的值。

SELECT *, HEX(x) AS HEX_Value FROM Sample; 

这将产生如下所示的结果:

DataxHEX_Value
Data 110A
Data 22014
Data 3301E
Data 44028
Data 55032