将由一些指定基数组成的字符串表达式转换为等效的整数值。已转换的值必须在有符号 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 |
+--------+