数据类型的注意事项 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

数据类型的注意事项

大小限制

对于没有指定大小限制的数据类型,请记住,对于单行中的所有数据,实际限制为 32MB。有关更多信息,请参阅Amazon Athena 中 SQL 查询的注意事项和限制中的Row or column size limitation

CHAR 和 VARCHAR

CHAR(n) 值始终具有 n 个字符数。例如,若将 'abc' 强制转换为 CHAR(7),则会添加 4 个尾随空格。

CHAR 值的比较包括前导空格和尾随空格。

如果指定了 CHARVARCHAR 的长度,则读取字符串时,字符串将按指定长度进行截断。如果底层数据字符串较长,则底层数据字符串将保持不变。

要对 CHARVARCHAR 中的单引号进行转义,请额外使用一个单引号。

要在 DML 查询中将非字符串数据类型转换为字符串,请强制转换为 VARCHAR 数据类型。

要使用 substr 函数从 CHAR 数据类型返回指定长度的子字符串,就必须先将 CHAR 值强制转换为 VARCHAR。在以下示例中,col1 使用了 CHAR 数据类型。

substr(CAST(col1 AS VARCHAR), 1, 4)

DECIMAL

要在 SELECT 查询中将十进制值指定为文字(例如选择具有特定十进制值的行时),您可以指定 DECIMAL 类型,并在查询中将该十进制值列为单引号中的文字,如下例所示:

SELECT * FROM my_table WHERE decimal_value = DECIMAL '0.12'
SELECT DECIMAL '44.6' + DECIMAL '77.2'