STRTOL 函数
将由一些指定基数组成的字符串表达式转换为等效的整数值。已转换的值必须在有符号 64 位范围中。
语法
STRTOL(num_string, base)
参数
- num_string
-
要转换的数字的字符串表达式。如果 num_string 为空(
''
)或以 null 字符('\0'
)开头,则转换后的值为0
。如果 num_string 是包含 NULL 值的列,STRTOL 将返回NULL
。字符串能够以任意数量的空格开头,也可以后跟加号“+
”或减号“-
”以表示正负。默认值为“+
”。如果 base 为16
,则字符串可以“0x
”开头。 - base
-
INTEGER
介于 2 和 36 之间。
返回类型
- BIGINT
-
如果 num_string 为 null,则函数返回
NULL
。
示例
要将字符串和基数值对转换为整数,请使用以下示例。
SELECT STRTOL('0xf',16);
+--------+ | strtol | +--------+ | 15 | +--------+
SELECT STRTOL('abcd1234',16);
+------------+ | strtol | +------------+ | 2882343476 | +------------+
SELECT STRTOL('1234567', 10);
+---------+ | strtol | +---------+ | 1234567 | +---------+
SELECT STRTOL('1234567', 8);
+--------+ | strtol | +--------+ | 342391 | +--------+
SELECT STRTOL('110101', 2);
+--------+ | strtol | +--------+ | 53 | +--------+
SELECT STRTOL('\0', 2);
+--------+ | strtol | +--------+ | 0 | +--------+