与LakeFormation数据类型映射关系
DataArts Fabric SQL中定义的数据类型与LakeFormation中的类型存在明确的映射关系,如下表所示:
| 数据类型 | DataArts Fabric SQL数据类型名称 | 描述 | LakeFormation数据类型名称 | 备注 |
|---|---|---|---|---|
| 数值类型 | SMALLINT | 小范围整数,别名为INT2。 | smallint | -32,768 ~ +32,767 |
| INTEGER | 常用的整数,别名为INT4。 | int | -2,147,483,648 ~ +2,147,483,647 | |
| BIGINT | 大范围的整数,别名为INT8。 | bigint | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
| NUMERIC[(p[,s])], DECIMAL[(p[,s])] | 精度p取值范围为[1,1000],标度s取值范围为[0,p]。 | decimal | 1≤p≤38, 0≤s≤p; p未指定时,报错提示超过精度范围。 | |
| REAL,FLOAT4 | 单精度浮点数,不精准。 | float | 6位十进制数字精度。 | |
| DOUBLE PRECISION, FLOAT8 | 双精度浮点数,不精准。 | double | 15位十进制数字精度。 | |
| FLOAT[(p)] | 浮点数,不精准。精度p取值范围为[1,53]。 如不指定精度,则默认为DOUBLE PRECISION表示。 | float/double | 1≤p<25时,存储为float类型; 25≤p≤53时,存储为double类型。 | |
| DEC[(p[,s])] | 精度p取值范围为[1,1000],标度s取值范围为[0,p]。 | decimal | 1≤p≤38, 0≤s≤p; p未指定时,报错提示超过精度范围。 | |
| INTEGER[(p[,s])] | 精度p取值范围为[1,1000],标度s取值范围为[0,p]。 | decimal | 1≤p≤38, 0≤s≤p; p未指定时,报错提示超过精度范围。 | |
| 布尔类型 | BOOLEAN | 布尔类型:true、false、null | boolean | - |
| 字符类型 | CHAR(n),CHARACTER(n),NCHAR(n) | 定长字符串,n是指字符长度不足填充空格,n小于等于255。 | char | 1≤n≤255;n未指定时,默认为1。 |
| VARCHAR(n),CHARACTER VARYING(n) | 变长字符串,n是指字符长度,n小于等于65535。 | varchar | 1≤n≤65535;n未指定时,默认为65535。 | |
| TEXT | 变长字符串。 | string | - | |
| 日期/时间类型 | DATE | 记录日期。 | date | 如果数据包含时间信息,仅截断存储日期数据 。 |
| TIMESTAMP[(p)] [WITHOUT TIME ZONE] | 日期和时间,不带时区信息。 p表示小数点后的精度,取值范围为0~6。 | timestamp | 实际存储精度固定为6,不受p大小影响; p>6时,提示精度降为6。 | |
| 二进制类型 | BYTEA | 变长的二进制字符串。 | binary | - |
| 复杂类型 | ARRAY<...> | 数组类型,下标从1开始,支持多维和嵌套。 | array | - |
| STRUCT<...> | STRUCT类型,支持嵌套。 | struct | - |