SQLite教程(七):数据类型详解

发布时间:2018-11-15  栏目:sqlite  评论:0 Comments

相同、存储种类及数据类型:

 

    SQLite将数据值的积存划分也以下几种存储类型:
 

前面几上一直忙碌在应聘工作、把上学都有点怠慢了,从昨天打就起上班了、虽然现在独自是试用期,但是自己可怜快乐,因为自身本尚独自是一个尚未毕业的专科生。嘿嘿,不说了,开始勾画读笔记。。。

复制代码 代码如下:

SQLITE 中生如下几种普遍的数据类型:

     NULL: 表示该值为NULL值。
     INTEGER: 无符号整型值。
     REAL: 浮点值。
     TEXT: 文本字符串,存储使用的编码方式为UTF-8、UTF-16BE、UTF-16LE。
     BLOB: 存储Blob数据,该型数据与输入数据完全相同。
 

【有个大侠说了下面这样的相同句话,我于斯Copy一下:

   
由于SQLite采用的是动态数据类型,而别传统的关系项目数据库使用的是静态数据类型,即字段可以储存的数据类型是当表声明时就算坐确定的,因此它中在数量存储方面或者在在很可怜之反差。在SQLite中,存储分类及数据类型也来一定之别,如INTEGER存储类别好分包6种不同尺寸的Integer数据类型,然而这些INTEGER数据而让读入到内存后,SQLite会将其通就是说占用8个字节无符号整型。因此对于SQLite而言,即使在表声明中显了字段类型,我们还是可于该字段中存储其它门类的数据。然而要专门说明的凡,尽管SQLite为我们提供了这种便利,但是倘若考虑到数据库平台的可移植性问题,我们当实际上的开发中要么应尽可能的保证数据类型的囤积和声明的一致性。除非您生出多充分的理由,同时又不再考虑数据库平台的移植问题,在斯种植状态下真可使SQLite提供的斯种特性。

Sqlite常用数据类型,这句话我就是发生题目,因为:

   1. 布尔数据类型:

SQLite是无类型的.
这表示你得保留任何项目的数及公所想使保存的任何表的任何列着,
无论这排声明的数据类型是呀(只有自动递增Integer Primary Key才发生因此).
对于SQLite来说对字段不点名项目是一心可行之.

   
SQLite并从未供专门的布尔仓储类型,取而代之的凡储存整型1表示true,0表示false。

   2. 日期以及日数额类:

NULL

   
和布尔类型一样,SQLite也一如既往没供专门的日子时存储类型,而是为TEXT、REAL和INTEGER类型分别不同之格式表示该种,如:
 

INTEGER

复制代码 代码如下:

REAL

    TEXT: “YYYY-MM-DD HH:MM:SS.SSS”
    REAL: 以Julian日期格式存储
    INTEGER: 以Unix时间形式保留数据值,即由1970-01-01
00:00:00暨当前时所流经之秒数。
 

TEXT

亚、类型亲缘性:

BLOB 【功能最好有力、如何输入就怎样存储,不改变任何格式】

   
为了最大化SQLite和任何数据库引擎之间的数据类型兼容性,SQLite提出了”类型亲缘性(Type
Affinity)”的定义。我们可以如此敞亮”类型亲缘性
“,在表字段被声称后,SQLite都见面基于拖欠字段声明时之路也夫选择相同种植亲缘类型,当数码插入时,该字段的数量以见面先采取亲缘类型作为该值的贮存方,除非亲缘类型不配合或无法换时数据及拖欠亲缘类型,这样SQLite才会考虑其他更合乎该值的门类存储该值。SQLite目前之本子支持以下五栽亲缘类型:

可是事实上,sqlite3也受如下的数据类型:

亲缘类型 描述  
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 不做任何的转换,直接以该数据所属的数据类型进行存储。  

smallint 16 个正之平头。

  1. 决定字段亲缘性的规则:

interger 32 位初之平头。

   
字段的亲缘性是根据该字段在声明时受定义之类别来支配的,具体的规则可参照以下列表。需要留意的凡以下列表的顺序,即只要某个平许段类型同时称两种亲缘性,那么排除在头里的条条框框以优先出作用。
    1). 如果类型字符串中涵盖”INT”,那么该字段的骨肉类型是INTEGER。
    2).
如果类型字符串中含有”CHAR”、”CLOB”或”TEXT”,那么该字段的深情类型是TEXT,如VARCHAR。
    3). 如果类型字符串中隐含”BLOB”,那么该字段的亲情类型是NONE。
    4).
如果类型字符串中包含”REAL”、”FLOA”或”DOUB”,那么该字段的骨肉类型是REAL。
    5). 其余情况下,字段的亲情类型为NUMERIC。

decimal(p,s) p 精确值和 s
大小的十前进各整数,精确值p是靠任何起几个数(digits)大小值,s是依小数点後来几位数。如果没特意指定,则网会要为
p=5; s=0 。

    2. 切实示例:

float   32各正之实数。

声明类型 亲缘类型 应用规则
INT
INTEGER
TINYINT
SMALLINT
MEDIUMINT
BIGINT
UNSIGNED BIG INT
INT2
INT8
INTEGER 1
CHARACTER(20)
VARCHAR(255)
VARYING CHARACTER(255)
NCHAR(55)
NATIVE CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB
TEXT 2
BLOB NONE 3
REAL
DOUBLE
DOUBLE PRECISION
FLOAT
REAL 4
NUMERIC
DECIMAL(10,5)
BOOLEAN
DATE
DATETIME
NUMERIC 5

double   64个正之实数。

流动:在SQLite中,类型VARCHAR(255)的尺寸信息255从未其余实际意义,仅仅是以保和任何数据库的扬言一致性。

char(n)   n 长度的字串,n不能够过 254。

其三、比较表达式:

varchar(n) 长度不固定且该极其深尺寸为 n 的字串,n不克跳 4000。

    在SQLite3中支持之比较表达式有:”=”, “==”, “<“, “<=”, “>”,
“>=”, “!=”, “<>”, “IN”, “NOT IN”, “BETWEEN”, “IS” and “IS
NOT”。
    数据的比较结实要依靠让操作数的蕴藏方,其规则为:
    1). 存储方啊NULL的数值低于其它存储类型的价。
    2).
存储方吗INTEGER和REAL的数值低于TEXT或BLOB类型的值,如果与为INTEGER或REAL,则冲数值规则进行比较。
    3).
存储方吗TEXT的数值小于BLOB类型的价,如果跟也TEXT,则根据文本规则(ASCII值)进行较。
    4).
如果是有限个BLOB类型的数值进行较,其结果吗C运行时函数memcmp()的结果。

graphic(n) 同 char(n) 一样,不了该单位凡鲜单字元 double-bytes,
n不可知过127。这个造型是为拉两独字正长的字,例如中文字。

四、操作符:

vargraphic(n) 可换长还其无与伦比特别长也 n 的对字正字串,n不能够跨越 2000

    所有的数学操作符(+, -, *, /, %, <<, >>, &, and
|)在执行前都见面优先以操作数转换为NUMERIC存储类型,即使以更换过程中恐怕会见招致数信息之掉。此外,如果中一个操作数为NULL,那么它的结果亦也NULL。在数学操作符中,如果中一个操作数看上去并无像数值类,那么它结果吗0还是0.0。

date   包含了年、月份、日期。

而或许感兴趣之章:

  • 详解SQL Server中之数据类型
  • 详解MySQL数据类型int(M)中M的含义
  • mysql存储引擎和数据类型(二)
  • Java数据类型与MySql数据类型对照表
  • SQL Server数据类型转换方法
  • SQL
    Server比较普遍数据类型详解
  • SQL
    Server数据类型char、nchar、varchar、nvarchar的别浅析
  • sql使用cast进行数据类型转换示例
  • SQL2005吃char nchar varchar
    nvarchar数据类型的区别及以条件讲解
  • SQL的常用数据类型列表详解

time   包含了时、分钟、秒。

timestamp 包含了年、月、日、时、分、秒、千分之一秒。

 

 

1.仓储类别

亚版将具有列的价都存储成ASCII文本格式。第三本子则足以将数据存储成整数和实数,还好存储BLOB数据.

Each value stored in an
SQLite数据库被储存的每个值都产生一个属性,都属下面所列类中之等同种植,(被数据库引擎所决定)

空.这个价为空值

整数.值被标识也整数,依据值的分寸可以依次为贮存吗1,2,3,4,5,6,7,8.

实数. 所有值都是变的数值,被积存吗8字节底IEEE浮动标记序号.

文本. 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).

BLOB. 值是BLOB数据,如何输入就什么样存储,不改变格式.

诸如SQLite2.0版相同,在3.0版本受,除了INTEGER PRIMARY
KEY,数据库中之其它列都可储存任何类型的数据.这同样平整为出例外,在脚的”严格相似模式”中将描述.

输入SQLite的享有值,不管她是放到
SQL语句被的契或提前编译好之绑定在SQL语句被的价,在SQL语句执行前还给储存吗一个类.在底下所描述的情事下,数据库引擎将在实施时检查并把价值当数字存储类(整数和实数)和文件类间转换.

存储的品类最初为分类为如下:

具体的价比如SQL语句部分的带动双引号或单引号的亲笔被定义为文本,如果文字没带引号并无小数点或指数虽然被定义为整数,如果文字没带引号但来小数点或指数虽然让定义也实数,如果值是空则被定义为空值.BLOB数据运用标志X’ABCD’来标识.

Values supplied using the 被输入的值使用sqlite3_bind_*
APIs的被分门别类一个囤积等,这路是与原的切近基本相平等的.
(比如sqlite3_bind_blob()绑定一个BLOB的值).

价的归类是SQL分等级操作的结果,决定让最远的操作表达式.用户定义之机能可能会管价值返回任意的类.在编译的上来确定表达式的囤积类基本是无容许的.

  1. 列次的亲和性

以SQLite3.0版被,值为定义为什么类型只及价值我有关,和列没有提到,和变量也不曾关系.
(这有时被称作
弱类型.)所来其它的我们所用的数据库引擎都受静态类型系统的克,其中的所有值的类似是由其所属列的性决定的,而同值无关.

以最酷限度的多SQLite数据库及其他数据库的兼容性,SQLite支持排的”类型亲和性”.
列的亲和性是也该列所蕴藏的数建议一个类型.我们要小心是建议一旦非是强迫.在理论及来讲,任何列依然是好储存任何项目的多少的.
只是针对少数列,如果叫建议项目的话,数据库将依照所建议的品类存储.这个让先行使用的数据类型则叫称作”亲和路”.

每当SQLite3.0版受,数据库被的各个一样排都叫定义也为下亲和类型受到的同等栽:

文本

数字的

整数

一个享有类型亲和性的排本无类型,文本,或BLOB存储所有的数据.如果数字数据给插入一个具备文本类亲和性的排列,在存储之前数字以让撤换成文本.

一个独具数字型亲和性的排也许下具有的五独存储类型存储值.当文本数据给插入一个数字列时,在囤之前,数据库将尝试着拿公文转换成为整数或实数.如果能成功转移的话,值将按部就班证书活实数的型为存储.
如果不能够
成功转移的话,值则只能以文件类存储了,而未会见为转移成为无类型或BLOB类型来存储.

一个具备整数亲和力的排在变点与享有数字亲和力的排是同等的,但为闹几区别
,比如没有浮动量的实值(文本值转换的值)被插具有整数亲和力的排列时,它用给移成整数并随整数类型存储.

一个颇具无类型亲和力的排不见面事先挑选下谁类型.在数额给输入前其不见面迫使数据易类型.

2.1 列的亲和性的决定

一个排列的亲和项目是由该列所声明的色决定的.遵守以下规则:

比方数据类型包括字符串”INT”那么其为定义成所有整数躬和性.

要列被的数据类型包括以下任何的字符串 “CHAR”, “CLOB”, or “TEXT”
那么这列则备文本亲和性.要顾VARCHAR类型包括字符串”CHAR”因此呢具有文本类型亲和性.

一旦一个列的数据类型包括字符串”BLOB”或者使数据类型被具体化了,那么这列有无类型亲和性.

再不就算有所数字类型亲和性.

如若表格使用If “CREATE TABLE AS
SELECT…”语词生成的,那么富有的列则都没实际的数据类型,则尚未类型亲和性.

2.2 列的亲和性的例证

CREATE TABLE t1(

    t TEXT,

    nu NUMERIC,

    i INTEGER,

    no BLOB

);

— Storage classes for the following row:

— TEXT, REAL, INTEGER, TEXT

INSERT INTO t1 VALUES(‘500.0’, ‘500.0’, ‘500.0’, ‘500.0’);

— Storage classes for the following row:

— TEXT, REAL, INTEGER, REAL

INSERT INTO t1 VALUES(500.0, 500.0, 500.0, 500.0);

3.较表达式

譬如说SQLite2.0版本一致,3.0版本的一个特色是二进制比较符’=’, ‘<‘, ‘<=’,
‘>=’ and ‘!=’,一个操作’IN’可以测试固定的成员身价,
三还之于操作符’BETWEEN’.

正如的结果决定给吃比较的点滴单价值的贮存类型。遵循以下规则:

一个存有空存储类型的价为看小于任何价值(包括另外一个有空存储类型的价值)。

一个整数值或实数值小于任何文本值和BLOB值。当一个整数或实数和任何一个平头或实数相较的时光,则仍实际数值来比。

一个文本值小于BLOB值。当半只文本值相较的时候,则就此C语言类库中之memcmp()函数来比。然而,有时候为不是这么的,比如在下面所讲述的“用户定义的重整顺序”情况下。

当半只BLOB文本被于的上,结果决定于memcmp()函数。

于开头于前面,SQLite尝试在把价值在数字存储级(整数和实数)和文书中相转换。下面列举了关于怎样比较二上前制值的事例。在在重号below中动用的表达式可以代表SQL标量表达式或是文本但未是一个列值。

当一个列值被比较为表达式结果的时节,在可比起前,列的亲和性将受利用在发表结果负。

当半单列值比较的时,如果一个列有整数或数字亲和性的下,而另外一排却绝非,那么数字亲和性适用于由非数字列提取的其他有文本存储类型的值.
P>

当于简单单表达式的结果经常,不闹任何移,直接比较结果.如果一个字符串和一个数字较,
数字连续小于字符串.

每当SQLite中, 表达式”a BETWEEN b AND c”等于表达式 “a >= b AND a <=
c”,在可比表达式时,a可以是负有其他亲和性.

发挥式 “a IN (SELECT b ….)”
在比时照上面所涉的老三漫漫规则,是二进制比较.(例如, 在一个般之样式 “a
= b”). 例如,如果’b’是一个列值, ‘a’
是一个表达式,那么,在起来比较前面,’b’的亲和性就深受转移为’a’的亲和性了.

SQLite把发挥式 “a IN (x, y, z)” 和 “a = z OR a = y OR a = z”视为相等.

3.1 比较例子

CREATE TABLE t1(

    a TEXT,

    b NUMERIC,

    c BLOB

);

— Storage classes for the following row:

— TEXT, REAL, TEXT

INSERT INTO t1 VALUES(‘500’, ‘500’, ‘500’);

— 60 and 40 are converted to ’60’ and ’40’ and values are compared as
TEXT.

SELECT a < 60, a < 40 FROM t1;

1|0

— Comparisons are numeric. No conversions are required.

SELECT b < 60, b < 600 FROM t1;

0|1

— Both 60 and 600 (storage class NUMERIC) are less than ‘500’

— (storage class TEXT).

SELECT c < 60, c < 600 FROM t1;

0|0

  1. 运算符

拥有的数学运算符(所有的运算符而非是有关作用标记符”||”)运算对象首先有数字亲和性,
如果一个恐怕两只都非克给移为数字那么操作的结果将是空值。

对连续图操作符,所有操作符将首先具有文本亲和性。如果内部任何一个操作符不克于转移为文本(因为她是空值或是BLOB)连接图操作符将是空值。

  1. 分拣,排序,混合挑选

当用子句ORDER挑选值经常,空值首先被挑选出,
然后是整数和实数按顺序为挑出, 然后是文本值按memcmp()顺序为增选出来,
最后是BLOB值按memcmp()顺序为捎出来.在选之前,
没有存储类型的价都吃转换了.

When grouping values with the 当用GROUP
BY子词被值分组时,具有不同存储类型的价值为认为是殊之, 但也发出两样,
比如,一个整数值和一个实数值从数字角度来说是等的,那么它则是齐的.用GROUP
by 子句比较了晚,值未负有其他亲和性.

混合挑选操作符UNION, INTERSECT and EXCEPT
在价值期间实行绝对的较,同样的亲和性将吃采用叫所有的值,这些价值将给储存于一个独的富有混合SELECT的结果组的列中.
被赋予的亲和性是该列的亲和性,这个亲和性是由于剩余的绝大多数的混合SELECTS返回的,这些混合SELECTS在深位置上发出列值(而不是外品类的表达式).
如果一个加以的混合SELECT列没有SELECTS的量,
那么以可比前面,该列的价值将不有其他亲和性.

  1. 旁亲和性模式

以上之片段所讲述的都是数据库引擎在例行亲和性模式下所开展的操作,
SQLite将讲述其它少种植亲和性模式,如下:

从严亲和性模式.在这种模式下,如果用价值期间彼此转换数据存储类型的话,数据库引擎将发送错误报告,当前言为以见面还运行.

无亲和性模式.在这种模式下,值的数量存储类型不发生转换.具有不同存储类型的值内未能够比,但整数和实数之间可比较.

7.用户定义的校顺序

By default, when
当SQLite比较简单个文本值的上,通过系统设定,不管字符串的编码是啊,用memcmp()来比较.
SQLite第三本允许用户提供任意的函数来顶替memcmp(),也就是用户定义的较顺序.

而外系统预设的BINARY比较顺序,它是为此memcmp()函数比较,SQLite还噙了简单单附加的坐比较顺序函数,
NOCASE和REVERSE:

BINARY -以memcmp()比较字符串数据, 不考虑文本编码.

REVERSE -用倒序比较二上制文本.

NOCASE –
和二进制一样,但以可比前面,26各类的生写字母盘要叫折合成相应的小写字母盘.

7.1 分配比较顺序

每个表格中的每个列都来一个预设的可比类型.如果一个较类型不是二进制所要求的,比较的子句将给实际化为列的定义
来定义该列.

当用SQLite比较简单个文本值时,比较顺序以按照以下的平整来控制于的结果.文档的老三片段及第五片段讲述在何种场合下产生这种比较.

对此二进制比较相符(=, <, >, <= and
>=),如果每个操作数是一律排的语句,那么该列的默认比较类型决定给所下的于顺序.
如果个别单操作数都是排的言语,那么左边的操作数的比类型决定了所而以的较顺序.如果两单操作数都非是均等排列,将动用二进制来比较.

表达式”x BETWEEN y and z”和 “x >= y AND x <= z”是一律之. 表达式”x
IN (SELECT y …)” 和表达式 “x = y”
使用同样的措施来操作,这是为控制所设用的于顺序.如果X是平排或者二进制的,则”x
IN (y, z …)” 形式的表达式所下的比顺序是X的默认的比较类型.

ORDER BY clause that is part of a SELECT statement may be assigned a
collation sequence to be used for the sort operation explicitly. In this
case the explicit collation sequence is always used. Otherwise, if the
expression sorted by an ORDER BY clause is a column, then the default
collation type of the column is used to determine sort order. If the
expression is not a column, then the BINARY collation sequence is used.

7.2 比较顺序的事例

下面的例子介绍了The examples below identify the collation sequences that
would be used to determine the results of text comparisons that may be
performed by various SQL statements. Note that a text comparison may not
be required, and no collation sequence used, in the case of numeric,
blob or NULL values.

CREATE TABLE t1(

    a,                 — default collation type BINARY

    b COLLATE BINARY, — default collation type BINARY

    c COLLATE REVERSE, — default collation type REVERSE

    d COLLATE NOCASE   — default collation type NOCASE

);

— Text comparison is performed using the BINARY collation sequence.

SELECT (a = b) FROM t1;

— Text comparison is performed using the NOCASE collation sequence.

SELECT (d = a) FROM t1;

— Text comparison is performed using the BINARY collation sequence.

SELECT (a = d) FROM t1;

— Text comparison is performed using the REVERSE collation sequence.

SELECT (‘abc’ = c) FROM t1;

— Text comparison is performed using the REVERSE collation sequence.

SELECT (c = ‘abc’) FROM t1;

— Grouping is performed using the NOCASE collation sequence (i.e.
values

— ‘abc’ and ‘ABC’ are placed in the same group).

SELECT count(*) GROUP BY d FROM t1;

— Grouping is performed using the BINARY collation sequence.

SELECT count(*) GROUP BY (d || ”) FROM t1;

— Sorting is performed using the REVERSE collation sequence.

SELECT * FROM t1 ORDER BY c;

— Sorting is performed using the BINARY collation sequence.

SELECT * FROM t1 ORDER BY (c || ”);

— Sorting is performed using the NOCASE collation sequence.

SELECT * FROM t1 ORDER BY c COLLATE NOCASE;

 

 

源文档 <http://www.21andy.com/blog/20091211/1489.html>

SQLite驱动支持的SQL 列类型 及长度【原出处不祥】

类型 描述
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, BYTEA 不限制长度的字符串类型. 二进制数据必须安全地编码存储, 见text类型.
CHAR(), VARCHAR(), TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT 不限制长度的字符串类型. 不会被截断或者填充
ENUM 不限制长度的字符串类型. 不像 MySQL, 使用 ENUM代替 VARCHAR不会节省存储空间.
SET 不限制长度的字符串类型. In contrast to MySQL, the input is not checked against the list of allowed values.
YEAR 不限制长度的字符串类型. MySQL 用1个字节 存储 2 个或者 4 个数字年份, 而SQLite 存为一个字符串.
TINYINT, INT1, CHAR A 1 byte type used to store one character, a signed integer between -128 and 127, or an unsigned integer between 0 and 255.
SMALLINT, INT2 2 byte (short) integer type used to store a signed integer between -32768 and 32767 or an unsigned integer between 0 and 65535.
MEDIUMINT 3 byte integer type used to store a signed integer between -8388608 and 8388607 or an unsigned integer between 0 and 16777215.
INT, INTEGER, INT4 4字节 (long)整数类型,用来存储一个有符号的整数,范围从-2147483648 到 2147483647, 或者一个有符号的整数,范围从 0到
4294967295.
BIGINT, INT8, INTEGER PRIMARY KEY 8 字节 (long long) 整型,用来存储有符号的整数,从
-9223372036854775808 到 9223372036854775807 , 或者无符号的整数,从0到 18446744073709551615.  请看下面关于
INTEGER PRIMARY KEY的讨论(哈哈,rowid就是8个字节的整数)
DECIMAL, NUMERIC A string type of unlimited length used to store floating-point numbers of arbitrary precision.
TIMESTAMP, DATETIME 用来存储日期/时间的不限制长度的字符串类型.
要求的格式是 ‘YYYY-MM-DD HH:MM:SS’,其他的东西被忽略.
DATE 用来存储日期的不限制长度的字符串类型. 要求的格式是
‘YYYY-MM-DD’, 别的格式的东西会被忽略.
TIME 用来存储时间的不限制长度的字符串类型. 要求的格式是 ‘HH:MM:SS’,其他格式的东西会被忽略.
FLOAT, FLOAT4, REAL A
4 byte floating-point number. The range is -3.402823466E+38 to
-1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38. Please
note that MySQL treats REAL as an 8 byte instead of a 4 byte float like
PostgreSQL.
DOUBLE, DOUBLE PRECISION, FLOAT8 An
8 byte floating-point number. The range is -1.7976931348623157E+308 to
-2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to
1.7976931348623157E+308.

上述资料翻译自 
http://libdbi-drivers.sourceforge.net/docs/dbd\_sqlite3/x123.html

关于 INTEGER PRIMARY KEY的讨论,请参考http://zhiwei.li/text/
上关于SQLite的片段材料

 

留下评论

网站地图xml地图