STRTOL 函数 - Amazon Redshift

STRTOL 函数

将由一些指定基数组成的字符串表达式转换为等效的整数值。已转换的值必须在有符号 64 位范围中。

语法

STRTOL(num_string, base)

参数

num_string

要转换的数字的字符串表达式。如果 num_string 为空('')或以 null 字符('\0')开头,则转换后的值为 0。如果 num_string 是包含 NULL 值的列,STRTOL 将返回 NULL。字符串能够以任意数量的空格开头,也可以后跟加号“+”或减号“-”以表示正负。默认值为“+”。如果 base16,则字符串可以“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 | +--------+