Lindorm支持通过简单的SQL语句完成数据的查询、分析和管理。为了更好地处理数据,在创建表前,您需要了解Lindorm SQL支持的基础数据类型及相关使用限制。
适用引擎
基础数据类型适用于宽表引擎和时序引擎。
基础数据类型
数据类型 | 宽表引擎 | 时序引擎 | 对应的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 | 时间戳。 |