sqlite3布尔字段存储文本值

时间:2017-01-17 11:09:21

标签: sql sqlite

我不知道sqlite3中定义的布尔数据类型列如何能够存储文本类型数据。

我这样做了:

CREATE TABLE `sometable` (
    `name`  text,
    `bool_field` boolean
);

并运行以下插入查询:

insert into `sometable` values ('name1','something');

它就像一个魅力,没有任何错误。我很惊讶 - 大家都知道为什么?我知道sqlite3中boolean字段的关联是数字1和0.但文本如何存储在这里?

版本信息:

SQLite版本3.9.2

为Ubuntu V3.7.0(基于Qt版本5.5.1构建)使用名为“DB Browser for SQLite”的客户端

1 个答案:

答案 0 :(得分:-1)

SQLite没有预留用于存储日期和/或时间的存储类。相反,SQLite的内置日期和时间函数能够将日期和时间存储为TEXT,REAL或INTEGER值:

TEXT as ISO8601 strings(“YYYY-MM-DD HH:MM:SS.SSS”)。 真实的朱利安日数,是公元前4714年11月24日格林威治中午以来的天数。根据公历格里高利历。 INTEGER as Unix Time,自1970-01-01 00:00:00 UTC以来的秒数。 应用程序可以选择以任何这些格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。

Info