手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >sqlite数据库boolean类型的小小测试
sqlite数据库boolean类型的小小测试
摘要:sqlite数据库中没有没有独的Boolean存储类,,Booean值以整数0(false)和1(true)存储,经我段时间的实践,bool...

sqlite数据库中没有没有独的Boolean存储类,,Booean值以整数0(false)和1(true)存储, 经我段时间的实践, boolean 有三种状态, 0(false) 1(true) 和 null,如下图所示,

sqlite数据库boolean类型的小小测试1

经过下列插入语句,测试,均可插入成功.而且, 可以通过

select * from stu where flag ="数据库"

查询到name 为a9 的行.

insert into stu (name,flag) values ('a1','true'); -- 0

insert into stu (name,flag) values ('a2','ture'); -- 0

insert into stu (name,flag) values ('a3',1); -- 1

insert into stu (name,flag) values ('a4','null'); --0

insert into stu (name,flag) values ('a5','1'); --1

insert into stu (name,flag) values ('a6',null); -- 2

insert into stu (name,flag) values ('a7','2'); --1

insert into stu (name,flag) values ('a8',15); --1

insert into stu (name,flag) values ('a9',"数据库"); --0

导出数据库,可以发现,执行的sql语句是这样的,

insert into [stu] values('a1', 0);

insert into [stu] values('a2', 0);

insert into [stu] values('a3', 1);

insert into [stu] values('a4', 0);

insert into [stu] values('a5', 1);

insert into [stu] values('a6', null);

insert into [stu] values('a7', 1);

insert into [stu] values('a8', 1);

insert into [stu] values('string', 0);

insert into [stu] values('string2', 0);

insert into stu (name,flag) values ('a9',0); --0

如此, 猜想, sqlite 是采用了 字符型存储插入的boolean类型数据, 但是,取出的时候, 会将插入的字符型数据转换成int类型来使用.

因此,可以得到下面的结论:

-- 字符可转换为int类型的为 ture, 转换失败的为 false(0) ,int ,long double 等整形为 ture(1) , 布尔类型报错, null为 null

ps: 尚未对其进行深入了解,目前是实践测试的结论,纯属猜测,如果有知情者,可告知.

【sqlite数据库boolean类型的小小测试】相关文章:

sql2008 附加数据库时出现错误5123提示的解决方法

SQL SERVER 2008 无法附加数据库的解决方法

sql2008保存注册服务器的实现方法

SqlServer2008 数据库同步的两种方式(发布、订阅使用方法)

数据库日常维护常用的脚本概述及部分测试

SQLServer 数据库中如何保持数据一致性

获取MSSQL数据字典的SQL语句

Sql语句与存储过程查询数据的性能测试实现代码

SQL Server 数据库管理常用的SQL和T-SQL语句

mssql 两种数据插入方式

精品推荐
分类导航