MariaDB CONV() 函数将数字从一种数字基本系统转换为另一种数字基本系统,并将结果作为字符串值返回。使用此函数时请注意以下事项:
- 如果任何参数为 NULL,则此函数返回 NULL。
- 如果指定正的 to_base ,此函数将 number 视为无符号数。
- 如果指定了负数 to_base,则此函数将 number 视为有符号数。
- 当此函数与 CONV(number, 10, 2) 语法一起使用时,相当于使用 BIN() 函数。
语法
CONV(number, from_base, to_base)
参数
number | 必填。 指定要转换的数字。 |
from_base | 必填。 指定number的数字制。它可以在 2 到 36 之间。 |
to_base | 必填。 指定要转换到的数字基本系统。它可以在2到36之间,或者-2到-36之间。 |
返回值
返回转换结果,数字从一个数字系统转换为另一个数字系统作为字符串。
示例 1:
下面的示例显示了 CONV() 函数的用法。
SELECT CONV(20, 10, 2);
Result: '10100'
SELECT CONV(20, 10, 8);
Result: '24'
SELECT CONV(30, 10, 16);
Result: '1E'
SELECT CONV(-30, 10, -16);
Result: '-1E'
SELECT CONV(111, 2, 10);
Result: '7'
SELECT CONV(71, 8, 10);
Result: '57'
SELECT CONV('FF', 16, 10);
Result: '255'
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | HEX |
---|---|
Data 1 | AA |
Data 2 | 1A |
Data 3 | 5F |
Data 4 | F3 |
Data 5 | B8 |
下面给出的语句可用于获取HEX列的十六进制值的十进制表示。
SELECT *, CONV(HEX, 16, 10) AS DEC FROM Sample;
这将产生如下所示的结果:
Data | HEX | DEC |
---|---|---|
Data 1 | AA | 170 |
Data 2 | 1A | 26 |
Data 3 | 5F | 95 |
Data 4 | F3 | 243 |
Data 5 | B8 | 184 |