数据类型 - Amazon Kinesis Data Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

数据类型

下表汇总了 Amazon Kinesis Data Analytics 支持的数据类型。

SQL 数据类型 JSON 数据类型 描述 备注

BIGINT

number

64 位有符号整数

BINARY

BASE64 编码的字符串

二进制 (非字符) 数据

子字符串适用于 BINARY。联接不适用于 BINARY。

BOOLEAN

布尔值

TRUE、FALSE 或 NULL

计算结果为 TRUE、FALSE 和 UNKNOWN。

CHAR (n)

字符串

固定长度 n 的字符串。也可指定为 CHARACTER

n 必须大于 0 且小于 65535。

DATE

字符串

日期为日历日 (年/月/日)。

精度为天。范围从最大值约 +229 (以年为单位) 运行至最小值 -229。

DECIMAL

DEC

NUMERIC

number

一个固定点,最多 19 个有效位。

可使用 DECIMAL、DEC 或 NUMERIC 进行指定。

DOUBLE

DOUBLE PRECISION

number

一个 64 位浮点数

64 位近似值;-1.79E+308 到 1.79E+308。遵循 ISO DOUBLE PRECISION 数据类型,53 位用于科学表示法中数字的小数部分,表示 15 位精度和 8 字节存储。

INTEGER

INT

number

32 位有符号整数。范围为 -2147483648 到 2147483647 [ 2**(31) 到 2**(31)- 1]

INTERVAL <timeunit> [TO <timeunit>]

字符串

支持 Day-time 时间间隔,不支持 year-month 时间间隔

在采用日期算法的表达式中允许,但不可用作表或流中列的数据类型。

<timeUnit>

字符串

INTERVAL 值的单位

支持的单位包括 YEAR、MONTH、DAY、HOUR、MINUTE 和 SECOND

SMALLINT

number

16 位有符号整数

范围为 -32768 到 32767

[2**(15) 到 2**(15)-1]

REAL

number

一个 32 位浮点数

遵循 ISO REAL 数据类型,24 位用于科学表示法中数字的小数部分,表示 7 位精度和 4 字节存储。最小值为 -3.40E+38;最大值为 3.40E+38。

TIME

字符串

TIME 是一天中的某个时间 (hour:minute:second)。

其精度是毫秒;其范围是 00:00:00.000 到 23:59:59.999。由于此系统时钟采用 UTC 运行,因此不考虑用于存储在 TIME 或 TIMESTAMP 列中的值的时区。

用于存储在 TIME 或 TIMESTAMP 列中的值。

TIMESTAMP

字符串

TIMESTAMP 是 DATE 和 TIME 的组合。

TIMESTAMP 值始终具有一个 1 毫秒的精度。它没有特定时区。由于此系统时钟采用 UTC 运行,因此不考虑用于存储在 TIME 或 TIMESTAMP 列中的值的时区。其范围从最大值约 +229 (以年为单位) 运行至最小值 -229。每个时间戳存储为有符号的 64 位整数,其中,0 表示 Unix 纪元 (Jan 1, 1970 00:00am)。这意味着,最大 TIMESTAMP 值表示 1970 年后的约 3 亿年,最小值表示 1970 年前的约 3 亿年。遵循 SQL 标准,TIMESTAMP 值具有一个未定义的时区。

TINYINT

number

8 位有符号整数

范围为 -128 到 127,

VARBINARY (n)

BASE64 编码的字符串

也可指定为 BINARY VARYING

n 必须大于 0 且小于 65535。

VARCHAR (n)

字符串

也可指定为 CHARACTER VARYING

n 必须大于 0 且小于 65535。

备注

关于字符:

  • Amazon Kinesis Data Analytics 仅支持 Java 单字节 CHARACTER SET。

  • 不支持隐式类型转换。也就是说,当且仅当字符取自同一字符集且为数据类型 CHARACTER 或 CHARACTER VARYING 的值时,字符才能互相分配。

关于数字:

  • 如果数字为数据类型 NUMERIC、DECIMAL、INTEGER、BIGINT、SMALLINT、TINYINT、REAL 和 DOUBLE PRECISION 的值,则数字可互相进行比较和分配。

以下各组数据类型是同义词:

  • DEC 和 DECIMAL

  • DOUBLE PRECISION 和 DOUBLE

  • CHARACTER 和 CHAR

  • CHAR VARYING 或 CHARACTER VARYING 和 VARCHAR

  • BINARY VARYING 和 VARBINARY

  • INT 和 INTEGER

  • 二进制值 (数据类型 BINARY 和 BINARY VARYING) 始终可互相进行比较和分配。

关于日期、时间和时间戳:

  • 不支持隐式类型转换 (也就是说,仅当分配的源和目标均为类型 DATE、TIME 或 TIMESTAMP 时,日期时间值才可互相分配)。

  • Amazon Kinesis Data Analytics 时区始终为 UTC。时间函数 (包括 Amazon Kinesis Data Analytics 扩展 CURRENT_ROW_TIMESTAMP) 返回采用 UTC 表示的时间。