基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
CONV
更新时间:2025-09-21 15:36:04
声明
CONV(N, from_base, to_base)
说明
不同数基间转换数字。返回值为一个字符串,由 from_base 基转化为 to_base 基。
输入参数
N可以是一个整数或字符串。最小基数为2,而最大基数为36。如果to_base是一个负数,则N被看作一个带符号数。否则,N被看作无符号数。from_base如果是负数,则被当作整数处理,符号被忽略。N参数仅支持 int 类型和字符串类型输入。from_base和to_base参数仅支持十进制 int 类型输入,且取值范围为 [-36, -2] U [2, 36]。
非法输入将导致报错,其中非法输入包括以下情况:
from_base或者to_base不是一个合法的十进制 int 类型输入;from_base或者to_base超出 [-36,-2] ∪ [2,36] 的取值范围;N不是一个合法的数字表示,例如取值超出0~9,a~z,A~Z的字符范围;N超出了from_base基的取值范围,例如from_base为 2,而N取值为 3;N的取值超出了BIGINT的最大表示范围,即 [-9223372036854775807, 9223372036854775807]。
示例
obclient> SELECT CONV(9223372036854775807,10,2);
+-----------------------------------------------------------------+
| CONV(9223372036854775807,10,2) |
+-----------------------------------------------------------------+
| 111111111111111111111111111111111111111111111111111111111111111 |
+-----------------------------------------------------------------+
1 row in set
obclient> SELECT CONV('-acc',21,-7);
+--------------------+
| CONV('-acc',21,-7) |
+--------------------+
| -16425 |
+--------------------+
1 row in set