android sql 数据类型

本文详细介绍了 SQLite 中的数据类型,包括 INTEGER、REAL、TEXT 和 BLOB 的特性及其如何应用于不同的数据存储需求。此外还解释了 SQLite 的列相关性概念,如 TEXT、NUMERIC 和 REAL 等类型是如何决定数据的存储方式。

  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值