基础数据类型

更新时间:2025-05-07 09:08:28

Lindorm支持通过简单的SQL语句完成数据的查询、分析和管理。为了更好地处理数据,在创建表前,您需要了解Lindorm SQL支持的基础数据类型及相关使用限制。

适用引擎

基础数据类型适用于宽表引擎、时序引擎和列存引擎。

说明

对于宽表引擎,基础数据类型也同样适用于二级索引搜索索引列存索引

基础数据类型介绍

数据类型

对应的Java类型

描述

数据类型

对应的Java类型

描述

BOOLEAN

java.lang.Boolean

长度为1字节。布尔型,取值为truefalse。

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为十进制,消耗的字节数随精度的增加而增加,通常用于存储金额等高精度数据,对于精度要求不高的场景(例如监控),可以使用FLOATDOUBLE。定义类型时需要指定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

时间戳。

引擎支持说明

宽表引擎、时序引擎和列存引擎对基础数据类型的支持情况如下:

说明

〇表示支持该数据类型,✖️表示目前不支持该数据类型。

数据类型

对应的Java类型

宽表引擎

时序引擎

列存引擎

数据类型

对应的Java类型

宽表引擎

时序引擎

列存引擎

BOOLEAN

java.lang.Boolean

TINYINT

java.lang.Byte

✖️

SMALLINT

java.lang.Short

✖️

INTEGER

java.lang.Integer

✖️

BIGINT

java.lang.Long

FLOAT

java.lang.Float

✖️

DOUBLE

java.lang.Double

DECIMAL(precision,scale)

java.lang.BigDecimal

✖️

VARCHAR / CHAR(N)

java.lang.String

BINARY(N)

byte[]

✖️

VARBINARY

byte[]

✖️

DATE

java.sql.Types#DATE

✖️

TIME

java.sql.Types#TIME

✖️

✖️

TIMESTAMP

java.sql.Types#TIMESTAMP

索引支持说明

您可以在宽表引擎中为原始数据创建二级索引搜索索引列存索引来加速数据查询。

二级索引、搜索索引和列存索引支持的基础数据类型如下:

说明

〇表示支持该数据类型,✖️表示目前不支持该数据类型。

数据类型

对应的Java类型

二级索引

搜索索引

列存索引

数据类型

对应的Java类型

二级索引

搜索索引

列存索引

BOOLEAN

java.lang.Boolean

TINYINT

java.lang.Byte

SMALLINT

java.lang.Short

INTEGER

java.lang.Integer

BIGINT

java.lang.Long

FLOAT

java.lang.Float

DOUBLE

java.lang.Double

DECIMAL(precision,scale)

java.lang.BigDecimal

✖️

VARCHAR / CHAR(N)

java.lang.String

BINARY(N)

byte[]

VARBINARY

byte[]

DATE

java.sql.Types#DATE

✖️

TIME

java.sql.Types#TIME

✖️

✖️

TIMESTAMP

java.sql.Types#TIMESTAMP

重要

要求宽表引擎为2.6.5及以上版本。

  • 本页导读 (1)
  • 适用引擎
  • 基础数据类型介绍
  • 引擎支持说明
  • 索引支持说明