SQLite資料型別用於指定任何物件的資料型別。 SQLite中的每列,變數和表示式都有相關的資料型別。 這些資料型別在建立表時使用。 SQLite使用更通用的動態型別系統。 在SQLite中,值的資料型別與值本身相關聯,而不是與其容器相關聯。
SQLite儲存類
SQLite資料庫中儲存的值是以下儲存類之一:
儲存類 | 描述 |
---|---|
NULL | 表示值為空(null )值。 |
INTEGER | 表示值是一個有符號整數,根據值的大小儲存在1 ,2 ,3 ,4 ,6 或8 個位元組中。 |
REAL | 表示值是一個浮點值,儲存為8 位IEEE浮點數。 |
text | 表示值是一個文字字串,使用資料庫編碼(utf-8 ,utf-16be 或utf-16le)儲存 |
BLOB | 表示值是一個資料塊,與輸入的資料完全相同。 |
注意:SQLite儲存類比資料型別更通用一些。 例如:
INTEGER
儲存類包括不同長度的6
種不同的整數資料型別。
SQLite支援列的型別近似性。列可以儲存任何型別的資料,但是列的首選儲存類稱為它的近似性型別。
在SQLite3資料庫中有以下型別近似可用於分配。
儲存類 | 描述 |
---|---|
TEXT | 此列可使用儲存類為NULL ,TEXT 或BLOB 來儲存所有資料。 |
NUMERIC | 此列可包含使用所有五個儲存類的值。 |
INTEGER | 它的行為與帶有轉換表示式異常的具有數位近似的列相同。 |
REAL | 它的行為類似於具有數位近似的列(除了它將整數值強制以浮點表示) |
NONE | 具有近似性NONE 的列不會將一個儲存類轉為另一個儲存型別 |
以下是可以在建立SQLite表時使用的各種資料型別名稱的列表。
資料型別 | 相應的近似型別 |
---|---|
INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8 | INTEGER |
CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB | TEXT |
BLOB - 未指定資料型別 | NONE |
REAL DOUBLE DOUBLE PRECISION FLOAT | REAL |
NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME | NUMERIC |
在SQLite中,沒有單獨的型別來儲存日期和時間。 但是可以將日期和時間儲存為TEXT,REAL或INTEGER值。
儲存類 | 日期格式 |
---|---|
TEXT | 它以「yyyy-mm-dd hh:mm:ss.sss 」 格式指定日期 |
REAL | 它規定了從公元前4714年11月24日在格林威治中午以後的天數。 |
INTEGER | 它指定從1970-01-01 00:00:00 utc開始的秒數。 |
在SQLite中,沒有一個單獨的布林儲存類。一個代替辦法是將布林值儲存為整數0
(假)和1
(真)。