CONV 不同数字基数之间转换数字

MySQL 的 CONV(N,from_base,to_base) 函数将在不同的数字基数之间转换数字。返回数字 N 的字符串表示形式,从基础 from_base 转换为基础 to_base。如果任何参数为 NULL,则返回 NULL。参数 N 被解释为整数,但可以指定为整数或字符串。 最小基数为 2,最大基数为 36。如果 from_base 为负数,则将 N 视为有符号数。 否则,N 被视为无符号。 CONV() 以 64 位精度工作。

语法说明

CONV(N,from_base,to_base)

参数说明

  • N  要转换的字符串或者数字

  • from_base 源数字基数

  • to_base 目标数字基数

示例用法

(1)使用 CONV 函数将十六进制“a”转换成二进制,如下:

mysql> select CONV('a',16,2);
+----------------+
| CONV('a',16,2) |
+----------------+
| 1010           |
+----------------+
1 row in set (0.03 sec)

由运行结果可知,十六进制“a”转换成二进制后为“1010”。

(2)使用 CONV 函数将十八进制“6E”转换成八进制,如下:

mysql> SELECT CONV('6E',18, 8);
+-----------------+
| CONV('6E',18,8) |
+-----------------+
| 172             |
+-----------------+
1 row in set (0.03 sec)

由运行结果可知,十八进制“6E”转换成八进制后为“172”。

(3)使用 CONV 函数将十进制 -17 负数转换成 -18 进制,如下:

mysql> SELECT CONV(-17,10,-18);
+------------------+
| CONV(-17,10,-18) |
+------------------+
| -H               |
+------------------+
1 row in set (0.04 sec)

(4)使用 CONV 函数计算表达式“10+'10'+'10'+X'0a'”,然后将十进制转换成十进制,如下:

mysql> SELECT CONV(10+'10'+'10'+X'0a',10,10);
+--------------------------------+
| CONV(10+'10'+'10'+X'0a',10,10) |
+--------------------------------+
| 40                             |
+--------------------------------+
1 row in set (0.04 sec)

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号