TEXT_TO_INT_ALT - Amazon Redshift

TEXT_TO_INT_ALT

TEXT_TO_INT_ALT 使用 Teradata 类格式将字符串转换为整数。结果中的小数位数将被截断。

语法

TEXT_TO_INT_ALT (expression [ , 'format'])

参数

expression

结果产生一个或多个 CHAR 或 VARCHAR 值的表达式,如列名称或文本字符串。转换 null 值将返回 null。该函数将空白或空字符串转换为 0。

format

一个字符串文本,用于定义输入表达式的格式。有关您可以指定的格式字符的更多信息,请参阅数字数据的 Teradata 类格式字符

返回类型

TEXT_TO_INT_ALT 返回一个 INTEGER 值。

转换结果的小数部分将被截断。

如果转换为您指定的 format 短语不成功,Amazon Redshift 将返回一个错误。

示例

以下示例将输入 expression 字符串“123-”转换为整数 -123。

select text_to_int_alt('123-');
text_to_int_alt ---------- -123

以下示例将输入 expression 字符串“2147483647+”转换为整数 2147483647。

select text_to_int_alt('2147483647+');
text_to_int_alt ---------- 2147483647

以下示例将指数输入 expression 字符串“-123E-2”转换为整数 -1。

select text_to_int_alt('-123E-2');
text_to_int_alt ---------- -1

以下示例将输入 expression 字符串“2147483647+”转换为整数 2147483647。

select text_to_int_alt('2147483647+');
text_to_int_alt ---------- 2147483647

以下示例使用 format 短语“999S”将输入 expression 字符串“123{”转换为整数 1230。S 字符表示带符号的分区十进制。有关更多信息,请参阅 数字数据的 Teradata 类格式字符

select text_to_int_alt('123{', '999S');
text_to_int_alt ---------- 1230

以下示例使用 format 短语“C9(I)”将输入 expression 字符串“USD123”转换为整数 123。请参阅 数字数据的 Teradata 类格式字符

select text_to_int_alt('USD123', 'C9(I)');
text_to_int_alt ---------- 123

以下示例指定一个表列作为输入 expression

select text_to_int_alt(a), text_to_int_alt(b) from t_text2int order by 1;
text_to_int_alt | text_to_int_alt -----------------+----------------- -123 | -123 -123 | -123 123 | 123 123 | 123

以下是此示例的表定义和 insert 语句。

create table t_text2int (a varchar(200), b char(200));
insert into t_text2int VALUES('123', '123'),('123.123', '123.123'), ('-123', '-123'), ('123-', '123-');