实际上,HEX()函数将十进制或字符串值转换为十六进制值。转换后,MySQL 返回该十六进制值的字符串表示形式。
语法
HEX(Num or Str)
我们知道 HEX() 函数可以转换数字或字符串,因此语法中的“Num”表示要转换为十六进制的数字,“Str”是要转换为两个十六进制字符的字符串数字。
示例
mysql> Select HEX(210);
+----------+
| HEX(210) |
+----------+
| D2 |
+----------+
1 row in set (0.00 sec)
在上面的示例中,210 是一个十进制数,它会转换为十六进制字符串表示形式,并被视为 BIGINT 数。
mysql> SELECT HEX('NULL');
+-------------+
| HEX('NULL') |
+-------------+
| 4E554C4C |
+-------------+
1 row in set (0.00 sec)
在上面的例子中,'NULL'是一个字符串,其字符被转换为两个十六进制数字(每个字符两个十六进制数字)。
基本上,MySQL HEX()函数相当于CONV(N ,10,16),但基本区别在于 HEX() 可以将字符串字符转换为两个十六进制数字,但 CONV() 在尝试将字符串字符转换为十六进制字符串时返回 0。下面的示例演示了 -
示例
mysql> Select HEX('N');
+----------+
| HEX('N') |
+----------+
| 4E |
+----------+
1 row in set (0.00 sec)
mysql> Select CONV('N',10,16);
+-----------------+
| CONV('N',10,16) |
+-----------------+
| 0 |
+-----------------+
1 row in set (0.00 sec)