目录
前言十六进制
十六进制函数如下:
十六进制(str)、十六进制(N)
对于 str,HEX() a of str,其中 str 中每个字节都是 2。 (超过两个。)这是由 UNHEX() 实现的。
对于 N,HEX() a 将 N 的值表示为 () 。 这是 CONV(N,10,16)。 这是通过 CONV(HEX(N),16,10) 实现的。
mysql> SELECT X'616263', HEX('abc'), UNHEX(HEX('abc'));
-> 'abc', 616263, 'abc'
mysql> SELECT HEX(255), CONV(HEX(255),16,10);
-> 'FF', 255
当HEX函数的参数为数字时
功能:数字参数N(十进制)->十六进制值 = CONV(N,10,16)->将十六进制值转换为字符串
mysql> select HEX(48);
+---------+
| HEX(48) |
+---------+
| 30 |
+---------+
1 row in set (0.01 sec)
mysql> select HEX(0x30);
+-----------+
| HEX(0x30) |
+-----------+
| 30 |
+-----------+
1 row in set (0.01 sec)
当HEX函数的参数为字符串时
功能:字符串参数S -> 将字符串中的每个字符(根据ASCII码表)转换为ASCII码(十六进制值) -> 将十六进制值转换为字符串
mysql> select HEX('0');
+----------+
| HEX('0') |
+----------+
| 30 |
+----------+
1 row in set (0.01 sec)
联合国十六进制
UNHEX函数如下:
UNHEX(字符串)
对于 str,UNHEX(str) 中的每一对作为 a 和 it 到字节。 该值为a。
mysql> SELECT UNHEX('4D7953514C');
-> 'MySQL'
mysql> SELECT X'4D7953514C';
-> 'MySQL'
mysql> SELECT UNHEX(HEX('string'));
-> 'string'
mysql> SELECT HEX(UNHEX('1267'));
-> '1267'
mysql> select UNHEX('30');
+-------------+
| UNHEX('30') |
+-------------+
| 0 |
+-------------+
1 row in set (0.02 sec)
HEX 将类型转换为字符串