SQLite3数据类型

SQLite 数据类型机制详解 最后,关于 Type Affinity的匹配规则有两个值得一提的事情,首先匹配是严格按照我们上面写的顺序进行的,也就是说如果你遇到一个 CHARINT的类型名称,它同时匹配了 TEXT和 INTEGER。这就涉及到另外一个概念了。如果是在 SQLite 中,每条记录的 name字段的类型是动态的,也就是说同一张表的不同数据条目中,name字段的类型是可以不同的。为什么说是推荐类型呢,因为我们前面提到过,SQLite 的数据类型是动态的,我们只能给这个字段推荐一个类型,而不能规定这个字段只能是这个类型。 阅读详情
SQLite的基本数据类型有NULL, INTEGER, REAL, TEXT, BLOB
但实际上,sqlite3也接受如下的数据类型:
smallint            16位元的整数。
interger             32位元的整数。
decimal(p,s)    p精确值和s大小的十进位整数,精确值p是指全部有几个数(digits)大小值,
                           s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。
float                   32位元的实数。
double              64位元的实数。
char(n)              n长度的字串,n不能超过 254。
varchar(n)        长度不固定且其最大长度为 n 的字串,n不能超过 4000。
graphic(n)        和char(n)一样,不过其单位是两个字元 double-bytes,n不能超过127。
                           这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n)   可变长度且其最大长度为n的双字元字串,n不能超过2000
date                   包含了 年份、月份、日期。
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分等级操作的结果,决定于最远的操作表达式.用户定义的功能也许会把值返回
任意的类.在编译的时候来确定表达式的存储类基本是不可能的.
2. 列之间的亲和性
在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标量表达式或是文本但不是一个列值。
当一个列值被比拟为表达式结果的时候,在比较开始前,列的亲和性将被应用在表达结果中。
当两个列值比较的时候,如果一个列有整数或数字亲和性的时候,而另外一列却没有,那么数字亲和性适用于从非数字列提取的
任何具有文本存储类型的值.
当比较两个表达式的结果时,不发生任何转换,直接比较结果.如果一个字符串和一个数字比较, 数字总是小于字符串.
在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
4. 运算符
所有的数学运算符(所有的运算符而不是连锁作用标记符"||")运算对象首先具有数字亲和性, 如果一个或是两个都不能被转换
为数字那么操作的结果将是空值。
对于连接作用操作符,所有操作符将首先具有文本亲和性。如果其中任何一个操作符不能被转换为文本(因为它是空值或是BLOB)
连接作用操作符将是空值。
5. 分类,排序,混合挑选
当用子句ORDER挑选值时,空值首先被挑选出来, 然后是整数和实数按顺序被挑选出来, 然后是文本值按memcmp()顺序被挑选出来,
最后是BLOB值按memcmp()顺序被挑选出来.在挑选之前, 没有存储类型的值都被转换了.
When grouping values with the 当用GROUP BY子句给值分组时,具有不同存储类型的值被认为是不同的, 但也有例外, 比如,
一个整数值和一个实数值从数字角度来说是相等的,那么它们则是相等的.用GROUP by 子句比较完后,值不具有任何亲和性.
混合挑选操作符UNION, INTERSECT and EXCEPT 在值之间实行绝对的比较,同样的亲和性将被应用于所有的值,这些值将被存储在
一个单独的具有混合SELECT的结果组的列中. 被赋予的亲和性是该列的亲和性,这个亲和性是由剩下的大部分的混合SELECTS返回的,
这些混合SELECTS在那个位置上有列值(而不是其它类型的表达式). 如果一个给定的混合SELECT列没有SELECTS的量, 那么在比较前,
该列的值将不具有任何亲和性.
6. 其它亲和性模式
以上的部分所描述的都是数据库引擎在正常亲和性模式下所进行的操作, 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

嵌入式统一消息机制:模块解耦与零拷贝通信设计 在嵌入式系统开发中,模块间通信(IMC)是影响可维护性与实时性的关键环节。传统IPC方式如全局变量、信号量或Socket易导致高耦合、调试困难及跨平台适配成本高。统一消息机制通过逻辑地址抽象、标签/实体分离、路由表驱动等原理,实现控制流与数据流解耦,在裸机、RTOS及Linux用户态保持一致接口。其技术价值在于降低模块依赖复杂度、支持动态增删与分布式迁移,并通过零拷贝优化显著减少CPU与内存开销。典型应用场景涵盖工业网关、城域交换机、多核ARM边缘设备等资源受限环境,尤其适用于需长期稳定运行、快速迭代与混合 阅读详情

相关推荐

光谱预处理最简单实现方法--基于OpenSA光谱分析库

系列文章目录 “光晰本质,谱见不同”,光谱作为物质的指纹,被广泛应用于成分分析中。伴随微型光谱仪/光谱成像仪的发展与普及,基于光谱的分析技术将不只停留于工业和实验室,即将走入生活,实现万物感知,见微知著。本系列文章致力于光谱分析技术的科普和应用。 文章目录系列文章目录前言一、数据来源二、代码解读2.1 读取数据2 .2 划分数据集2 .3 返回训练集和测试集并绘制光谱图片2.4 建立1-D CNN模型2.5 训练1-D CNN模型2.6 测试1-D CNN模型2.7 运行CNN模型,并用查看结果总结

Echo_Code的博客 7067

03.sqlite3学习——数据类型

SQLite 数据类型 一般数据采用固定的静态数据类型, 而 SQLite 采用的是动态数据类型, 会根据存入值自动判断 SQLite 具有以下五种基本数据类型: 1、 integer: 带符号的整型(最多 64 位) 2、 real: 8 字节表示的浮点类型 3、 text: 字符类型, 支持多种编码(如 UTF-8、 UTF-16), 大小无限制 4、 blob: 任意类型的数据, 大小无限制。 BLOB(binary large object)二进制大对象, 使用二进制保存数据 5、 null:空值

qq_25218501的博客 4277

STM32G0——USB虚拟串口

STM32G0用cubeMX配置实现USB虚拟串口

阿昌 2321

嵌入式数据库开发编程(三)——sqlite3数据类型和存储类型

SQL语言、数据类型

河海大学研究生在读的学习笔记 4495

Jetson Orin Nano GPIO 实战,用 devmem 玩转 Pinmux 引脚复用配置

devmem 是一个直接读写寄存器的工具,通过 mmap 将 /dev/mem 中的物理地址区域映射到用户空间进程地址空间,从而实现直接读写,正常情况下在 /dev 下可以看到 mem。可以看到对应 bit5 bit6 分别为 1,对应配置为 E_IO_HV 为 ENABLE 以及 E_INPUT 为 ENABLE。需要 TRM 手册查看相关寄存器,以及安装 busybox,busybox 内置了 devmem。根据 TRM 手册,找到 I2C_SDA 的 pinmux 地址偏移是 0x18。

darcsdn 1645

基于Python适用于YOLO目标检测算法的图片数据增强处理

为了增强模型的鲁棒性以及数据的丰富性,同 时为了防止由于数据过少发生过拟合,本设计对数 据集进行数据增强处理,包括随机亮度调节、随机 对比度调节、随机饱和度调节、加入高斯噪声、水 平翻转、运动模糊和旋转 15°

weixin_67136409的博客 700

SQLite3 数据类型

转自 http://blog.chinaunix.net/uid-25523295-id-3082716.html 初始资源 来自sqlie的官网(http://www.sqlite.org/datatype3.html)大部分SQL数据库引擎使用静态数据类型,数据的类型取决于它的存储单元(即所在的列)的类型。 SQLite3采用了动态的数据类型,存储值的数据类型和数值本身相关,而不是由它的字

悲莫悲兮生别离 1781

告别混乱!AutoSar BswM模式管理实战:手把手教你配置Rule与ActionList(附避坑指南)

本文详细解析了AutoSar BswM模式管理的实战配置,重点介绍了Rule与ActionList的高效组合方法,帮助开发者避免常见陷阱。通过具体案例演示了从基础到复杂的配置步骤,包括模式仲裁、逻辑表达式构建及ActionList优化策略,提升汽车电子系统的协调性与可靠性。

weixin_27066963的博客 259

SQLite3 数据类型深入全面讲解

SQLite3的数据类型系统相对简单,但又不失灵活性。在创建表结构时,你可以为每一列指定一个数据类型。SQLite3会根据这个数据类型来优化存储方式,并在可能的情况下进行类型检查。然而,需要注意的是,SQLite3的列类型是松散的,这意味着即使你为一个列指定了某种类型,你仍然可以在该列中存储其他类型的数据。SQLite3的数据类型系统虽然简单,但却非常灵活和强大。通过了解并掌握这些数据类型及其使用规则,你可以更有效地利用SQLite3来存储和管理你的应用程序数据。

2010

农业生产AI决策系统架构设计解密:数据层-模型层-应用层核心逻辑

想象一下,在一个炎热的夏日,传统农田里的农民伯伯正满头大汗地检查每一株玉米是否缺水;而几公里外的智慧农场里,一位年轻农民正在空调房里滑动手机屏幕,看着AI系统自动生成的灌溉计划——这就是农业生产AI决策系统带来的改变。本文的目的,就是要揭开这个"智能农业大脑"的面纱,详细讲解它的"身体构造"(架构设计)和"工作原理"(核心逻辑)。我们将聚焦系统最核心的三个部分:数据层(收集农田信息)、模型层(分析信息并思考决策)和应用层(将决策告诉农民)。

AI智能探索者的博客 1327

SAP_MM模块通过CC11 创建物料版本

通过本文,我们了解了 SAP 的[SAP_MM模块通过CC11 创建物料版本]的基本概念和应用方法。当物料主数据、BOM(物料清单)、工艺路线等对象需要进行变更控制时,通过创建“版本”或“更改单”来记录、控制和追溯变更。创建完变更主记录(Change Number)后,可在物料主数据维护时引用它,从而创建物料版本化信息。,在其中可以定义物料、BOM、工艺路线等对象的变更版本信息,从而在系统中实现版本化的物料管理。

我小时候很黑的博客 816

sqlite3:数据类型

原文地址:http://www.sqlite.org/datatype3.htmlsqlite3的支持“生活中的”数据类型有:NULL、BLOB、INTEGER、REAL、TEXT我说它是“生活中的数据类型”,因为怕它和下面的column类型(sqlite只有四种)相混乱。注意:sqlite的所有类型都会根据实现输入变化的,可以说是弱数据类型In SQLite versio

benny5609的专栏 4936

《UDS协议从入门到精通》系列——图解0x22:通过ID读数据

如何向车辆ECU通过DID写入数据?有哪些注意事项?图解+示例带你快速上手0x22服务!!

车载系统攻城狮 8712

Sqlite3支持的数据类型 日期函数 Sqlite3 函数

Sqlite3支持的数据类型  NULL INTEGER REAL TEXT BLOB但实际上,sqlite3也接受如下的数据类型: smallint 16 位元的整数。 interger 32 位元的整数。 decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则

星星的专栏 2万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

sqlite3中的数据类型

大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。 Sqlite使用一个更一般的动态类型系统,sqlite中,值的数据类型跟值本身相关,而不是与它的容器相关。Sqlite的动态类型系统和其他数据库的更为一般的静态类型系统相兼容,但同时,sqlite中的动态类型允许它能做

robert的专栏 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SQLite3 数据类型与亲和类型

SQLite3 数据类型与亲和类型@TOC SQLite3 数据类型与亲和类型 本文主要是从SQLite3 数据类型与其特有的亲和类型的定义出发,解释了二者之间的联系与区别。 1. SQLite 中的数据类型 大多数SQL数据库引擎(除了SQLite以外的所有SQL数据库)使用的是静态的,刚性的类型。由此,使用静态的、刚性的数据库,气存储值的类型就由容器决定,只能存储特定类型的列数据。 SQL...

feiyihexin的博客 4375

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Sqlite3支持的数据类型 日期函数 Sqlite3 函数

Sqlite3支持的数据类型  NULL  INTEGER  REAL  TEXT  BLOB 但实际上,sqlite3也接受如下的数据类型:  smallint 16 位元的整数。  interger 32 位元的整数。  decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,

xiaotian314的专栏 507

Sqlite3支持的数据类型(转)

2010-03-22Sqlite3支持的数据类型 (转)文章分类:数据库 NULL <br /> INTEGER <br /> REAL <br /> TEXT <br /> BLOB <br /> 但实际上,sqlite3也接受如下的数据类型: <br /> smallint 16 位元的整数。 <br /> interger 32 位元的整数。 <br /> decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digit

ghost1236的专栏 1477

SQLite3的数据类型

SQLite3的数据类型 大多数SQL数据库引擎(据我所知,所有除SQLite外的SQL数据库引擎)使用静态固定类型。使用静态类型,数据的类型由它的容器——即存储数据的列决定。 SQLite使用一个更通用的动态类型系统。在SQLite中,数据的类型与数据本身绑定,而不是与存储数据的列绑定。其它数据库引擎使用的静态类型系统更为普遍。在其它静态类型系统中工作的SQL语句在SQLite中以同样的方式

wayz11的专栏 3309

【数据库】 sqlite3数据类型和函数

sqlite3支持的数据类型: NULL、INTEGER、REAL、TEXT、BLOB 但是,sqlite3也支持如下的数据类型 smallint           16位整数 integer             32位整数 decimal(p,s)   p是精确

XiaoMT_Rush的专栏 1万+

Sqlite3数据类型及存储类

转自。http://hddev.blog.51cto.com/3365350/863169 1.    Sqlite3数据类型及存储类     每个存放在sqlite数据库中(或者由这个数据库引擎操作)的值都有下面中的一个存储类:    (1)NULL,值是NULL     (2)INTEGER,值是有符号整形,根据值的大小以1,2,3,4,6或8字节存放    (3)REAL,

xiaoyun8822的专栏 1261

sqlite3的数据类型

前言 用户给的2个excel文件样本,准备导入sqlite3数据库, 再SQL查询,这样统计分析就容易了。 用xlsxio + 日志,已经将字段和值的对应关系整理好了。 现在要建表,需要知道字段是sqlite3数据类型才好。 看到 https://www.sqlite.org/datatype3.html 有介绍,这个资料还有使用不同数据类型时SQL语句的列子,很不错的文章。 将数据类型记录一下。 INTEGER 类型 INT INTEGER TINYINT SMALLINT MEDIUMINT BIGIN

博客标题不能为空 727

Sqlite3支持的数据类型(转载)

Sqlite3支持的数据类型 NULL INTEGER REAL TEXT BLOB 但实际上,sqlite3也接受如下的数据类型: smallint 16 位元的整数。 interger 32 位元的整数。 decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系...

weixin_30273175的博客 158

sqlite3数据库之blob数据类型读写

sqlite3数据库之blob数据类型读写 近期在开发过程中需要在数据库中保存二进制文件,于是去了解了一下sqlite3的数据类型,发现blob可以存储二进制数据。 但是blob要如何操作呢?用什么语句呢? 其实它是需要操作sqlite3库的一些底层API来实现。 下面我们就来做实验。 先上测试代码: #include "Wdebug.h" #include "sqlite/Wsqlite.h" #include <stdlib.h> #define TABLE_NAME "TEST_BL

Programmer_Dong的博客 1万+
上一篇: 使用log4j输出日志
下一篇: 写代码时的一些错误
lab17
博客等级 码龄19年 10粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值