发布于 2015-07-25 11:41:25 | 304 次阅读 | 评论: 0 | 来源: 网络整理
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 point value, stored as an 8-byte IEEE floating point 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支持列上类型 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 point 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. |
下表列出了下来SQLite3的表和相应的应用affinity ,可用于各种数据类型名也已被证明:
Data Type | Affinity |
---|---|
|
INTEGER |
|
TEXT |
|
NONE |
|
REAL |
|
NUMERIC |
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. |
可以选择任何这些格式存储日期和时间之间自由转换格式,使用内置的日期和时间的功能。