

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

# 数字数据的 Teradata 类格式字符
<a name="r_Numeric-format-teradata"></a>

下面，您可以找到 TEXT\_TO\_INT\_ALT 和 TEXT\_TO\_NUMERIC\_ALT 函数如何解释输入 *expression* 字符串中的字符。您还可以找到您可以在 *format* 短语中指定的字符列表。此外，您还可以找到 Teradata 类格式和 Amazon Redshift 之间的*格式*选项差异的说明。


| 格式  | 描述  | 
| --- | --- | 
| G  | 不支持在输入 expression 字符串中作为组分隔符。您不能在 format 短语中指定此字符。 | 
| D | 基数符号。您可以在 *format* 短语中指定此字符。此字符等效于. (句点)。<br />基数符号不能出现在包含以下任意字符的 *format* 短语中：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/dg/r_Numeric-format-teradata.html) | 
| / , : % | 插入字符/（正斜杠）、逗号 (,)、:（冒号）和 %（百分号）。<br />您不能在 *format* 短语中包含这些字符。<br />Amazon Redshift 会忽略输入 *expression* 字符串中的这些字符。 | 
| .  | 表示基数字符的句点，即小数点。<br />此字符不能出现在包含以下任意字符的 *format* 短语中：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/dg/r_Numeric-format-teradata.html) | 
| B | 不能将空格字符 (B) 包含在 *format* 短语中。在输入 *expression* 字符串中，忽略前导空格和尾随空格，并且不允许数字之间存在空格。 | 
| \+ - | 您不能在 *format* 短语中包含加号 (\+) 或减号 (-)。但是，如果加号 (\+) 和减号 (-) 出现在输入 *expression* 字符串，则将它们隐式解析为数值的一部分。 | 
| V  | 小数点位置指示器。<br />此字符不能出现在包含以下任意字符的 *format* 短语中：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/dg/r_Numeric-format-teradata.html) | 
| Z  | 抑零十进制数字。Amazon Redshift 修剪前导零。Z 字符不能跟随字符 9。如果分数部分包含字符 9，则 Z 字符必须位于基数字符的左侧。 | 
| 9  | 十进制数字。 | 
| CHAR(n)  | 对于此格式，您可以指定以下各项：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/dg/r_Numeric-format-teradata.html) | 
| -  | 连字符 (-) 字符。<br />您不能在 *format* 短语中包含此字符。<br />Amazon Redshift 会忽略输入 *expression* 字符串中的此字符。 | 
| S | 带符号的分区时进度。S 字符必须跟随 *format* 短语中的最后一位十进制数字。输入 *expression* 字符串的最后一个字符和相应的数字转换列在[带符号的分区十进制、Teradata 类数字数据格式的数据格式字符](#r_Numeric-format-teradata-signed-zone)中。<br />S 字符不能出现在包含以下任意字符的 *format* 短语中：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/dg/r_Numeric-format-teradata.html) | 
| E | 指数表示法。输入 *expression* 字符串可以包含指数字符。您不能在 *format* 短语中将 E 指定为指数字符。 | 
| FN9 | 在 Amazon Redshift 中不受支持。 | 
| FNE | 在 Amazon Redshift 中不受支持。 | 
| $、USD、US Dollars  | 美元符号 ($)、ISO 货币符号 (USD) 和货币名称 US Dollars。<br />ISO 货币符号 USD 和货币名称 US Dollars 区分大小写。Amazon Redshift 仅支持 USD 货币。输入 *expression* 字符串可以在 USD 货币符号和数值之间包含空格，例如“$ 123E2”或“123E2 $”。 | 
| L | 货币符号。此货币符号字符只能在 *format* 短语中出现一次。您不能指定重复的货币符号字符。 | 
| C  | ISO 货币符号。此货币符号字符只能在 *format* 短语中出现一次。您不能指定重复的货币符号字符。 | 
| 否 | 完整货币名称。此货币符号字符只能在 *format* 短语中出现一次。您不能指定重复的货币符号字符。 | 
| O | 双币符号。您不能在 *format* 短语中指定此字符。 | 
| U | 双 ISO 货币符号。您不能在 *format* 短语中指定此字符。 | 
| A | 完整的双币名称。您不能在 *format* 短语中指定此字符。 | 

## 带符号的分区十进制、Teradata 类数字数据格式的数据格式字符
<a name="r_Numeric-format-teradata-signed-zone"></a>

您可以在 TEXT\_TO\_INT\_ALT 和 TEXT\_TO\_NUMERIC\_ALT 函数的 *format* 短语中将以下字符用于带符号的分区十进制值。


| 输入字符串的最后一个字符  | 数字转换 | 
| --- | --- | 
| { 或 0 | n … 0  | 
| A 或 1 | n … 1 | 
| B 或 2  | n … 2 | 
| C 或 3 | *n* … 3 | 
| D 或 4  | *n* … 4 | 
| E 或 5 | *n* … 5 | 
| F 或 6 | *n* … 6 | 
| G 或 7  | n … 7 | 
| H 或 8  | n … 8 | 
| I 或 9  | n … 9 | 
| }  | -n … 0  | 
| J  | -n … 1 | 
| K  | -n … 2  | 
| L  | -n … 3  | 
| M  | -n … 4 | 
| 否  | -n … 5 | 
| O  | -n … 6 | 
| P  | -n … 7 | 
| Q  | -n … 8 | 
| R  | -*n* … 9 | 