本文为您介绍如何使用实时计算进制转换内置函数CONV。

说明 blink-3.2.2及以上版本支持该函数。

语法

VARCHAR CONV(BIGINT number, INT FROM_BASE, INT TO_BASE)
or 
VARCHAR CONV(VARCHAR number, INT FROM_BASE, INT TO_BASE)

入参

参数 数据类型
number BIGINT、VARCHAR。
FROM_BASE INT,非负数, 取值范围[2, 36]
TO_BASE INT,可以为正数(无符号整数)、负数(有符号整数)、ABS(TO_BASE) ,取值范围[2, 36]

功能描述

将长整型数字或字符串形式数字从一种进制转换为另一种进制,返回类型为字符串,CONV()精度为64位。
说明 当number是null或非法字符时,结果返回为NULL。

样例

  • 测试数据
    id(INT) x(BIGINT) y (VARCHAR)
    1 12L '12'
    2 10L '10'
    3 0L 'test'
    4 NULL NULL
  • 测试案例
    SELECT  id, conv(x, 10, 16) as var1, conv(y, 10, 2) as var2
    FROM T1;
  • 测试结果
    id(INT) var1(VARCHAR) var2(VARCHAR)
    1 C 1100
    2 A 1010
    3 O NULL
    4 NULL NULL