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 | 時間戳記。 |