什么是MySQL HEX()函数,它与CONV()函数有何不同?
实际上,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”是一个字符串,其字符转换为两个十六进制数字(每个字符两个十六进制数字)。
基本上,MySQLHEX()函数等效于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)