Lindorm宽表SQL是一种类型化语言,支持丰富的数据类型集。本文介绍Lindorm宽表SQL的基础数据类型。
使用限制
- 单个主键列最大长度2 KB。
- 所有主键列长度之和不超过30 KB。
- 单个非主键列最大长度不超过2 MB。
基础数据类型
数据类型 | 对应的Java类型 | 描述 |
---|---|---|
BOOLEAN | java.lang.Boolean | 长度为1字节。布尔型,取值为true或false。 |
TINYINT | java.lang.Byte | 长度为1字节。定长精确数值类型。值域取决于长度,以及是否为无符号。 |
SMALLINT | java.lang.Short | 长度为2字节。定长精确数值类型。值域取决于长度,以及是否为无符号。 |
INTEGER | java.lang.Integer | 长度为4字节。定长精确数值类型。值域取决于长度,以及是否为无符号。 |
BIGINT | java.lang.Long | 长度为8字节。定长精确数值类型。值域取决于长度,以及是否为无符号。 |
FLOAT | java.lang.Float | 长度为4字节。定长非精确数值类型。值域和精度取决于长度、precision和scale,以及是否为无符号。 |
DOUBLE | java.lang.Double | 长度为8字节。定长非精确数值类型。值域和精度取决于长度、precision和scale,以及是否为无符号。走sql拼写方式按照科学计数法进行拼写double类型。 |
DECIMAL(precision,scale) | java.lang.BigDecimal | 变长二进制类型。decimal为十进制,消耗的字节数随精度增加而增加,通常用于存储金额等高精度数据,对于精度要求不高的场景(例如监控),可以使用float或double。定义类型时需要指定precision和scale。
|
VARCHAR / CHAR(N) | java.lang.String | 字符串,支持中文。
|
BINARY(N) | byte[] | 定长二进制类型,N表示字节数。写入数据时,包括以下两种情况。
|
VARBINARY | byte[] | 变长二进制类型,作为主键时只能是最后一列主键。 |
DATE | java.sql.Types#DATE | 日期时间(仅存储日期,不存储时间,在时区转换过程中容易出现日期不对的现象,不推荐使用)。 |
TIME | java.sql.Types#TIME | 时间类型。 |
TIMESTAMP | java.sql.Types#TIMESTAMP | 时间戳。 |
不支持的数据类型
数组等复杂类型。