🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 类型 | 存储类 | 描述 | |----------|------------------------------------------------------------------| | NULL | 值是一个 NULL 值。 | | INTEGER | 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 | | REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 | | TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 | | BLOB | 值是一个 blob 数据,完全根据它的输入存储。 | ## 亲和类型(隐式转换) | 亲和类型 | 描述 | |-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------| | TEXT | 数值型数据在被插入之前,需要先被转换为文本格式,之后再插入到目标字段中。 | | NUMERIC | 当文本数据被插入到亲缘性为 NUMERIC 的字段中时,如果转换操作不会导致数据信息丢失以及完全可逆,那么 SQLite 就会将该文本数据转换为 INTEGER 或 REAL 类型的数据,如果转换失败,SQLite 仍会以 TEXT 方式存储该数据。对于 NULL 或 BLOB 类型的新数据,SQLite 将不做任何转换,直接以 NULL 或 BLOB 的方式存储该数据。需要额外说明的是,对于浮点格式的常量文本,如 "30000.0",如果该值可以转换为 INTEGER 同时又不会丢失数值信息,那么 SQLite 就会将其转换为 INTEGER 的存储方式。 | | INTEGER | 对于亲缘类型为 INTEGER 的字段,其规则等同于 NUMERIC,唯一差别是在执行 CAST 表达式时。 | | REAL | 其规则基本等同于 NUMERIC,唯一的差别是不会将 "30000.0" 这样的文本数据转换为 INTEGER 存储方式。 | | NONE | 不做任何的转换,直接以该数据所属的数据类型进行存储。 |