Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


CONV

📄字数 517
👁️阅读量 加载中...

功能描述

在不同数字进制之间转换数字。

语法格式

sql
CONV(expr, from_base, to_base)

输入参数

  • expr:被转换的数据,VARCHAR 类型或者能隐式转换为 VARCHAR 类型的其他类型的值或者表达式。
  • from_base:原进制,TINYINT 类型;若 from_base 为负数,则 expr 被视为有符号数,否则视为无符号数,输入取值范围(整数)为 [-36,-2]U[2, 36]
  • to_base:要转换的进制,TINYINT 类型,取值范围(整数)为 [-36,-2]U[2, 36]

提示

  • 当输入参数中包含数字字符和其他字符时,函数内部仅计算字符串头部的数字字符,如 CONV('255Hello',10,16) 等效于 CONV('255',10,16),输出结果为 FF

输出结果

输出结果为 VARCHAR 类型(精度最大64),任意输入参数为 NULL 或者进制取值超出取值范围,则输出结果为 NULL

示例

sql
-- 20从10进制转换为16进制
SQL> SELECT CONV('20',10, 16);

+-------+
| EXPR1 |
+-------+
| 14    |
+-------+

-- 'a'从16进制转换为2进制
SQL> SELECT CONV('a',16,2);

+-------+
| EXPR1 |
+-------+
| 1010  |
+-------+

-- '6E'从18进制转换为8进制
SQL> SELECT CONV('6E',18,8);

+-------+
| EXPR1 |
+-------+
| 172   |
+-------+

-- -17从10进制转换为-18进制
SQL> SELECT CONV(-17,10,-18);

+-------+
| EXPR1 |
+-------+
| -H    |
+-------+