SQLite 數據類型
SQLite 的數據類型是一個屬性來指定任何對象的數據類型。 SQLite中的每一列,變量和表達式相關的數據類型。
在創建表的同時,使用這些數據類型。 SQLite使用一個更一般的動態類型係統。在SQLite中值的數據類型相關聯的值本身,而不是與它的容器。
SQLite的存儲類:
每個值存儲在SQLite數據庫具有以下存儲類之一:
存儲類 | 描述 |
---|---|
NULL | The value is a NULL value. |
INTEGER | The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value. |
REAL | The value is a floating yiibai value, stored as an 8-byte IEEE floating yiibai number. |
TEXT | The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE) |
BLOB | The value is a blob of data, stored exactly as it was input. |
SQLite 的存儲類彆是稍微比數據類型更普遍。 INTEGER存儲類,例如,包含6種不同的不同長度的整數數據類型。
SQLite的關聯類型:
SQLite支持列上類型 affinity 概念。任何列仍然可以存儲任何類型的數據,但的首選存儲類,一列稱為affinity 。 SQLite3數據庫中的每個表列分配以下類型的affinity 之一:
Affinity | 描述 |
---|---|
TEXT | This column stores all data using storage classes NULL, TEXT or BLOB. |
NUMERIC | This column may contain values using all five storage classes. |
INTEGER | Behaves the same as a column with NUMERIC affinity with an exception in a CAST expression. |
REAL | Behaves like a column with NUMERIC affinity except that it forces integer values into floating yiibai representation |
NONE | A column with affinity NONE does not prefer one storage class over another and no attempt is made to coerce data from one storage class into another. |
SQLite Affinity 和類型名稱:
下表列出了下來SQLite3的表和相應的應用affinity ,可用於各種數據類型名也已被證明:
Data Type | Affinity |
---|---|
|
INTEGER |
|
TEXT |
|
NONE |
|
REAL |
|
NUMERIC |
Boolean 數據類型:
SQLite冇有單獨的布爾儲存類。相反,邏輯值被存儲為0(假)和1(真)的整數。
日期和時間數據類型:
SQLite 冇有一個單獨的存儲類用於存儲日期和/或時間,但SQLite是能夠存儲日期和時間為TEXT,REAL或INTEGER值。
存儲類 | 日期格式 |
---|---|
TEXT | A date in a format like "YYYY-MM-DD HH:MM:SS.SSS". |
REAL | The number of days since noon in Greenwich on November 24, 4714 B.C. |
INTEGER | The number of seconds since 1970-01-01 00:00:00 UTC. |
可以選擇任何這些格式存儲日期和時間之間自由轉換格式,使用內置的日期和時間的功能。