conv函数
一、概念
MySQL CONV()将一个数字从一个数字基数系统转换为另一个数字基数系统。转换后,函数返回数字的字符串表示形式。
当定义的参数为NULL时,返回值将为NULL。
最小基数为2,最大基数为36.如果要转换的基数为负数,则该数字被视为带符号数。否则,它被视为未签名。
该函数出现在MySQL版本:5.6
句法:
CONV(N,from_base,to_base)
MySQL CONV()函数的图示
二、参数
名称 | 描述 |
---|---|
NUM | 一个号码。 |
from_base | 数字的现有基数 |
to_base | 转换后的数字num的基数。 |
三、用例
select conv(16,10,16);
+—————-+
| conv(16,10,16) |
+—————-+
| 10 |
+—————-+
1 row in set (0.04 sec)
如果N是有符号数字,则to_base要以负数的形式提供,否则会将N当作无符号数
mysql> select conv(-16,10,16);
+——————+
| conv(-16,10,16) |
+——————+
| FFFFFFFFFFFFFFF0 |
+——————+
1 row in set (0.00 sec)
mysql> select conv(-16,10,-16);
+——————+
| conv(-16,10,-16) |
+——————+
| -10 |
+——————+
1 row in set (0.00 sec)
使用字符值的CONV()函数
SELECT CONV('b',16,10)'十六进制到十进制',CONV('b',16,2)AS'十六进制到二进制';
四、拓展
除了conv,还有几个特定进制转换的函数,如:
hex(N)相当于conv(N,10,16)
oct(N)相当于conv(N,10,8)
bin(N)相当于conv(N,10,2)
另外还有一个convert函数用于转换不同的数据类型的,不要和conv搞混淆了。