android sql 数据类型

来源:互联网 发布:apache 微服务 框架 编辑:程序博客网 时间:2024/06/06 05:32

  INTEGER: 用来存储一个整数,根据大小可以使用1,2,3,4,6,8位来存储.

  REAL: IEEE 浮点数

  TEXT: 按照字符串来存储

  BLOB: 按照二进制值存储,不做任何改变.

  要注意,这些类型是值本身的属性,而不是列的属性.

  但是为了和其他DBMS(以及SQL标准)兼容,在其create table语句中可以指定列的类型,为此,SQLite有个列相似性的概念(Column Affinity). 列相似性是列的属性,SQLite有以下几种列相似性:

  TEXT: TEXT列使用NULL,TEXT或者BLOB存储任何插入到此列的数据,如果数据是数字,则转换为TEXT.

  NUMERIC: NUMERIC列可以使用任何存储类型,它首先试图将插入的数据转换为REAL或INTEGER型的,如果成功则存储为REAL和INTEGER型,否则不加改变的存入.

  INTEGER:和NUMERIC类似,只是它将可以转换为INTEGER值都转换为INTEGER,如果是REAL型,且没有小数部分,也转为INTEGER

  REAL: 和NUMERIC类型 只是它将可以转换为REAL和INTEGER值都转换为REAL.

  NONE:不做任何改变的尝试.

  SQLite根据create table语句来决定每个列的列相似性.规则如下(大小写均忽略):

  1. 如果数据类型中包括INT,则是INTEGER

  2. 如果数据类型中包括CHAR,CLOB,TEXT则是TEXT

  3. 如果数据类型中包括BLOB,或者没有指定数据类型,则是NONE

  4. 如果数据类型中包括REAL,FLOA或者DOUB,则是REAL

  5. 其余的情况都是NUMERIC

0 0