更新时间:2023-10-25 GMT+08:00

conv

conv函数用于进制转换,将from_base进制下的num转化为to_base进制下面的数。

命令格式

conv(BIGINT num, INT from_base, INT to_base)

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

num

DOUBLE、BIGINT、DECIMAL、STRING类型。

需要进行转换进制的数。

参数num格式为浮点数格式、整数格式、字符串格式。

from_base

DOUBLE、BIGINT、DECIMAL、STRING类型。

被转换的进制from_base。

参数from_base格式为浮点数格式、整数格式、字符串格式。

to_base

DOUBLE、BIGINT、DECIMAL、STRING类型。

转化至的进制to_base。

参数to_base格式为浮点数格式、整数格式、字符串格式。

返回值说明

返回STRING类型。

  • num、from_base或to_base值为NULL时,返回NULL。
  • 转换过程以64位精度工作,溢出时返回NULL。
  • num如果输入的是小数,会转为整数值后进行进制转换,小数部分会被舍弃。

示例代码

-返回8。

select conv('1000', 2, 10);

返回B。

select conv('1011', 2, 16);

返回703710。

select conv('ABCDE', 16, 10);

返回27。

select conv(1000.123456, 3.123456, 10.123456);

返回18446744073709551589。

select conv(-1000.123456, 3.123456, 10.123456);

返回NULL。

select conv('1100', null, 10);