首页 > 解决方案 > SQLite中如何声明日期和年份的数据类型?

问题描述

我正在 python 上创建一个 SQLite 数据库,并且正处于创建表的阶段。在下表中,我将日期存储到 ID 中,并且需要有关日期数据类型的帮助。我不确定是否有内置的,或者我是否在输入数据时输入文本然后格式化日期。我在另一个表中也有类似的问题,但这种类型用于存储年份。提前致谢。

标签: pythonsqlsqlite

解决方案


SQLite 没有内置的日期列类型。

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

TEXT 作为 ISO8601 字符串(“YYYY-MM-DD HH:MM:SS.SSS”)。REAL 作为儒略日数字,根据预测的公历,自公元前 4714 年 11 月 24 日格林威治中午以来的天数。INTEGER 作为 Unix 时间,自 1970-01-01 00:00:00 UTC 以来的秒数。

应用程序可以选择以任何这些格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。

SQLite 中的列类型非常灵活,并且类型在很大程度上无关紧要,因为您可以在任何类型的列中存储任何类型的数据(INTEGER、REAL、TEXT、BLOB NULL)(一个例外是 rowid 列或其别名(INTEGER PRIMARY KEY(带或不带 AUTOINCREMENT))在这种情况下,值必须是整数(64 位有符号))。

但是,SQLite 确实具有日期和时间函数,这些函数作用于以特定公认格式存储的数据。

所有已识别的日期格式都可以直接排序。

您不妨看看:-


推荐阅读