SQLite數據類型
SQLite數據類型用於指定任何對象的數據類型。 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的近似類型
SQLite支持列的類型近似性。列可以存儲任何類型的數據,但是列的首選存儲類稱爲它的近似性類型。
在SQLite3數據庫中有以下類型近似可用於分配。
存儲類
描述
TEXT
此列可使用存儲類爲NULL
,TEXT
或BLOB
來存儲所有數據。
NUMERIC
此列可包含使用所有五個存儲類的值。
INTEGER
它的行爲與帶有轉換表達式異常的具有數字近似的列相同。
REAL
它的行爲類似於具有數字近似的列(除了它將整數值強制以浮點表示)
NONE
具有近似性NONE
的列不會將一個存儲類轉爲另一個存儲類型
SQLite近似和類型名稱
以下是可以在創建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
(真)。