什么是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)
猜你喜欢