本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
数据类型
下表汇总了Amazon Kinesis Data Analytics 支持的数据类型。
| SQL 数据类型 | JSON 数据类型 | 描述 | 注意 |
|---|---|---|---|
|
BIGINT |
number |
64 位有符号整数 |
|
|
BINARY |
BASE64 编码的字符串 |
二进制(非字符)数据 |
子字符串适用于二进制。串联在 BINARY 上不起作用。 |
|
BOOLEAN |
布尔值 |
TRUE、FALSE 或 NUL |
计算结果为 “真”、“假” 和 “未知”。 |
|
CHAR (n) |
字符串 |
固定长度 n 的字符串。也可指定为 CHARACTER |
n 必须大于 0 且小于 65535。 |
|
DATE |
字符串 |
日期是日历日(年/月/日)。 |
精度就是一天。范围从最大值(大约 +229(以年为单位)到最小值 -229 不等。 |
|
DECIMAL DEC NUMERIC |
number |
一个固定点,最多 19 个有效数字。 |
可以用十进制、十进制或数字指定。 |
|
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>] |
字符串 |
支持日间隔,不支持年月间隔 |
允许在日期算术的表达式中使用,但不能用作表或流中列的数据类型。 |
|
<timeUnit> |
字符串 |
间隔值的单位 |
支持的单位为年、月、日、时、分和秒 |
|
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 |
字符串 |
时间是一天中的时间(小时:分钟:秒)。 |
其精度是毫秒;其范围是 00:00:00.000 到 23:59:59.999。由于系统时钟以 UTC 运行,因此不考虑存储在 TIME 或 TIMESTAMP 列中的值的时区。 用于存储在 TIME 或 TIMESTAMP 列中的值。 |
|
TIMESTAMP |
字符串 |
时间戳是日期和时间的组合。 |
时间戳值的精度始终为 1 毫秒。它没有特定的时区。由于系统时钟以 UTC 运行,因此不考虑存储在 TIME 或 TIMESTAMP 列中的值的时区。其范围从最大值(大约 +229(以年为单位)到最小值 -229 不等。每个时间戳存储为一个有符号的 64 位整数,其中 0 表示 Unix 时代(1970 年 1 月 1 日凌晨 00:00)。这意味着最大的 TIMESTAMP 值代表 1970 年后的大约 3 亿年,最小值代表 1970 年之前的大约 3 亿年。按照 SQL 标准,时间戳值具有未定义的时区。 |
|
TINYINT |
number |
8 位有符号整数 |
范围为 -128 到 127 |
|
VARBINARY (n) |
BASE64 编码的字符串 |
也可以指定为二进制变量 |
n 必须大于 0 且小于 65535。 |
|
VARCHAR (n) |
字符串 |
也可以指定为字符变化 |
n 必须大于 0 且小于 65535。 |
注意
关于字符:
-
Amazon Kinesis Data Analytics 仅支持 Java 单字节字符集。
-
不支持隐式类型转换。也就是说,当且仅当字符从相同的字符库中提取并且是 CHARACTER 或 CHARACTER VARIONING 数据类型的值时,字符才可以相互分配。
关于数字:
-
如果数字是NUMERIC、DECIMAL、INTEGER、BIGINT、BIGINT、SMALLINT、TINYINT、REAL、BIGINT、SMALLINT、TINGER、BIGINT、
以下数据类型集是同义词:
-
DECIMAL 和 D
-
DUBLE PRECIS
-
字符和字符
-
字符变化或角色变化和 VARCHAR
-
二进制变化和 VARBINARY
-
INTEGER 和 IN
-
二进制值(数据类型二进制和二进制变化)始终是相互可比的,并且可以相互分配。
关于日期、时间和时间戳:
-
不支持隐式类型转换(也就是说,只有当赋值的源和目标都是 DATE 类型或两者都是 TIME 类型,或者两者都是 TIMESTAMP 类型时,日期时间值才可以相互分配)。
-
Amazon Kinesis Data Analytics 时区始终为 UTC。时间函数,包括Amazon Kinesis Data Analytics 扩展 CURRENT_ROW_TIMESTAMP,以 UTC 返回时间。