SQLite 数据类型
SQLite 数据类型
SQLite数据类型是指定对象数据的属性。每个列、变量和表达式在SQLite中都有相关的数据类型。
创建表时将使用这些数据类型。SQLite使用更通用的动态类型系统。在SQLite中,值的数据类型与值本身相关联,而不是与其容器相关联。
SQLite存储类
存储在SQLite数据库中的每个值都具有以下存储类之一-
1.NULL:一个空值
2.INTEGER:该值是有符号整数,根据值的大小以1、2、3、4、6或8字节存储。
3.REAL:该值是浮点值,存储为8字节IEEE浮点数。
4.TEXT:该值是使用数据库编码( UTF - 8、UTF - 16BE或UTF - 16LE )存储的文本字符串
5.BLOB:该值是一大块数据,存储方式与输入时完全相同。
SQLite存储类比数据类型略一般。例如,整数存储类包括6种不同长度的不同整数数据类型。
SQLite类型亲和性
SQLite支持列上的类型关联性概念。任何列仍然可以存储任何类型的数据,但列的首选存储类称为其关联性。SQLite3数据库中的每个表列都分配有以下类型的关联性之一
1.TEXT:此列使用存储类NULL、文本或BLOB存储所有数据
2.NUMERIC:此列可能包含使用所有五个存储类的值。
3.INTEGER:行为与具有数值关联性的资料行相同,但转换运算式中有例外.
4.REAL:行为类似于具有数值相似性的列,不同之处在于它将整数值强制为浮点表示。
5.NONE:具有关联性NONE的资料行不会偏好一个储存类别,也不会尝试强制资料从一个储存类别进入另一个储存类别。
SQLite关联性和类型名称
下表列出了创建具有相应应用关联性的SQLite3表时可以使用的各种数据类型名称。
//
//
//
//
数据类型 | 关联 |
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 no datatype specified | NONE |
REAL DOUBLE DOUBLE PRECISION FLOAT | REAL |
NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME | NUMERIC |
Boolean数据类型
SQLite没有单独的布尔存储类。相反,布尔值存储为整数0 ( false )和1 ( true )。
日期和时间数据类型
SQLite没有单独的存储类来存储日期和/或时间,但SQLite能够将日期和时间存储为文本、实数或整数值。
1.TEXT:格式类似"YYYY-MM-DD HH:MM:SS.SSS"
2.REAL:格林威治时间:从公元前4568年11月24日中午算起的天数
3.INTEGER:自1970 - 01- 01 00 : 00 : 00 UTC以来的秒数
您可以选择以任何这些格式存储日期和时间,并使用内置的日期和时间在格式之间自由转换functions.