实际上,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)