• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 英语文章 > 正文

    【sqlite数据库boolean类型的小小测试】 sqlite update

    时间:2020-05-28来源:山茶花美文网 本文已影响 山茶花美文网手机站

    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: 尚未对其进行深入了解,目前是实践测试的结论,纯属猜测,如果有知情者,可告知.

    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全