

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# TEXT\$1TO\$1INT\$1ALT
<a name="r_TEXT_TO_INT_ALT"></a>

TEXT\$1TO\$1INT\$1ALT 使用 Teradata 类格式将字符串转换为整数。结果中的小数位数将被截断。

## 语法
<a name="r_TEXT_TO_INT_ALT-synopsis"></a>

```
TEXT_TO_INT_ALT (expression [ , 'format'])
```

## 参数
<a name="r_TEXT_TO_INT_ALT-arguments"></a>

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

 *format*   
一个字符串文本，用于定义输入表达式的格式。有关您可以指定的格式字符的更多信息，请参阅[数字数据的 Teradata 类格式字符](r_Numeric-format-teradata.md)。

## 返回类型
<a name="r_TEXT_TO_INT_ALT-return-type"></a>

TEXT\$1TO\$1INT\$1ALT 返回一个 INTEGER 值。

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

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

## 示例
<a name="r_TEXT_TO_INT_ALT-examples"></a>

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

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

```
text_to_int_alt
----------
      -123
```

以下示例将输入 *expression* 字符串“2147483647\$1”转换为整数 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\$1”转换为整数 2147483647。

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

```
text_to_int_alt
----------
2147483647
```

以下示例使用 *format* 短语“999S”将输入 *expression* 字符串“123\$1”转换为整数 1230。S 字符表示带符号的分区十进制。有关更多信息，请参阅 [数字数据的 Teradata 类格式字符](r_Numeric-format-teradata.md)。

```
select text_to_int_alt('123{', '999S');
```

```
text_to_int_alt
----------
      1230
```

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

```
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-');
```