基础数据类型

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字节。定长非精确数值类型。取值范围和精度取决于长度、precisionscale,以及数值中有无符号。

DOUBLE

java.lang.Double

长度为8字节。定长非精确数值类型。取值范围和精度取决于长度、precisionscale,以及数值中有无符号。使用SQL语句拼写时,按照科学计数法的方式来表示DOUBLE类型的值。

DECIMAL(precision,scale)

✖️

java.lang.BigDecimal

变长二进制类型。DECIMAL为十进制,消耗的字节数随精度的增加而增加,通常用于存储金额等高精度数据,对于精度要求不高的场景(例如监控),可以使用FLOAT或DOUBLE。定义类型时需要指定precisionscale

  • precision:最大一共有多少位,值域是[1,38]。

  • scale:小数点后最大有多少位,值域是[0,precision]。

VARCHAR / CHAR(N)

java.lang.String

字符串,支持中文。

  • VARCHAR:变长字符串类型。

  • CHAR:定长字符串类型,需要指定长度N。

BINARY(N)

✖️

byte[]

定长二进制类型,N表示字节数。写入数据时,包含以下两种情况:

  • 若给出的值不足N字节,系统会自动在末尾用0补充缺的字节。

  • 若超出N字节,则自动截断。

VARBINARY

✖️

byte[]

变长二进制类型,作为主键时只能是最后一列主键。

DATE

✖️

java.sql.Types#DATE

日期时间(仅存储日期,不存储时间。在时区转换过程中易出现日期错误的现象,不推荐使用)。

TIME

✖️

java.sql.Types#TIME

时间类型。

TIMESTAMP

java.sql.Types#TIMESTAMP

时间戳。