全部產品
Search
文件中心

Lindorm:基礎資料類型

更新時間:Aug 07, 2025

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

日期時間(僅儲存日期,不儲存時間。在時區轉換過程中易出現日期錯誤的現象,不推薦使用)。DATE類型的格式和時區特性說明請參見背景資訊

TIME

java.sql.Types#TIME

時間類型。TIME類型的格式和時區特性說明請參見背景資訊

TIMESTAMP

java.sql.Types#TIMESTAMP

時間戳記。TIMESTAMP類型的格式和時區特性說明請參見背景資訊

重要

Lindorm和MySQL的TIMESTAMP類型支援的時間範圍不同:MySQL支援的最大值為2038-01-19 03:14:07,而Lindorm支援的最大值為9999-12-31 23:59:59

引擎支援說明

寬表引擎、時序引擎和列存引擎對基礎資料類型的支援情況如下:

說明

〇表示支援該資料類型,✖️表示目前不支援該資料類型。

資料類型

對應的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類型

二級索引

搜尋索引

列存索引

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及以上版本。