本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
数据类型
下表汇总总支持的数据类型Amazon Kinesis Data Analytics。
| SQL 数据类型 | JSON 数据类型 | 描述 | 注意 |
|---|---|---|---|
|
BIGINT |
number |
64 位有符号整数 |
|
|
BINARY |
BASE64 编码的字符串 |
二进制(非字符)数据 |
子字符串适用于二进制。串联不适用于二进制。 |
|
BOOLEAN |
布尔值 |
TRUE、 |
评估结果为 “真”、“假” 和 “未知”。 |
|
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 位有符号整数 |
Range is -32768 to 32767 [2** (15) 至 2** (15) -1] |
|
REAL |
number |
A 32-bit floating point number |
按照 ISO REAL 数据类型,24 位用于科学记数法中的数字尾数,表示 7 位的精度和 4 字节的存储空间。最小值为 -3.40E+38;最大值为 3.40E+38。 |
|
TIME |
字符串 |
时间是一天中的时间(小时:分钟:秒)。 |
其精度是毫秒;其范围是 00:00:00.000 到 23:59:59.999。由于系统时钟以 UTC 运行,因此不考虑用于存储在 TIME 或 TIMESTAMP 列中的值的时区。 用于存储在 “时间” 或 “时间戳” 列中的值。 |
|
TIMESTAMP |
字符串 |
时间戳是日期和时间的组合。 |
时间戳值的精度始终为 1 毫秒。它没有特定的时区。由于系统时钟以 UTC 运行,因此不考虑用于存储在 TIME 或 TIMESTAMP 列中的值的时区。其范围从最大值(大约 +229(以年为单位)到最小值 -229 不等。每个时间戳都存储为带符号的 64 位整数,其中 0 代表 Unix 时代(1970 年 1 月 1 日上午 00:00)。这意味着最大的时间戳值代表1970年之后的约3亿年,最小的值代表1970年之前的大约3亿年。按照 SQL 标准,时间戳值具有未定义的时区。 |
|
TINYINT |
number |
8 位有符号整数 |
Range is -128 to 127, |
|
VARBINARY (n) |
BASE64 编码的字符串 |
也可以指定为二进制变化 |
n 必须大于 0 且小于 65535。 |
|
VARCHAR (n) |
字符串 |
也可以指定为字符变化 |
n 必须大于 0 且小于 65535。 |
注意
关于角色:
-
Amazon Kinesis Data Analytics仅支持 Java 单字节字符集。
-
不支持隐式类型转换。也就是说,当且仅当字符来自相同的角色库并且是数据类型 CHARACTER 或 CHARACTER 的值时,字符才可以相互分配。
关于数字:
-
如果数字是NUMERIC、DECIMAL、INTEGER、BIGINT、SMALLINT、TINTEGER、REAL 和 DOUBLE PRECISION。
以下几组数据类型是同义词:
-
DECIMAL
-
双精度和双精度
-
CHAR
-
CHAR 变化或者角色变化还有 VARCHAR
-
VARY
-
整数和整数
-
二进制值(数据类型 BINARY 和 BINARY VARIGING)始终是相互比较的,并且可以相互分配。
关于日期、时间和时间戳:
-
不支持隐式类型转换(也就是说,只有当赋值的源和目标都是 DATE 类型,或者两者都是 TIMESTAMP 类型或两者都是 TIMESTAMP 类型时,日期时间值才可以相互分配)。
-
Amazon Kinesis Data Analytics时区始终是 UTC。时间函数,包括Amazon Kinesis Data Analytics扩展名 CURRENT_ROW_TIMESTAMP,以 UTC 形式返回时间。