conv
conv函数用于进制转换,将from_base进制下的num转化为to_base进制下面的数。
命令格式
conv(BIGINT num, INT from_base, INT to_base)
参数说明
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
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);