python - SQLite中如何声明日期和年份的数据类型?
问题描述
我正在 python 上创建一个 SQLite 数据库,并且正处于创建表的阶段。在下表中,我将日期存储到 ID 中,并且需要有关日期数据类型的帮助。我不确定是否有内置的,或者我是否在输入数据时输入文本然后格式化日期。我在另一个表中也有类似的问题,但这种类型用于存储年份。提前致谢。
解决方案
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 确实具有日期和时间函数,这些函数作用于以特定公认格式存储的数据。
所有已识别的日期格式都可以直接排序。
您不妨看看:-
推荐阅读
- json - 使用多个 JSON 文件的压力测试 API
- angularjs - 如何访问 AngularJS 中的嵌套元素
- java - 找不到 com.android.support:cardview-v7:27.0.2
- sql - 在 select 语句中使用函数,我可以在同一个 select 语句中使用函数的结果吗?
- php - 用 PHP 安排每月一次的活动
- python - 查找树中的所有后代
- python - scrapy - 使用正确的扩展名下载
- pyspark - Spark dataframe date_add 函数在不工作时带有大小写
- kubernetes - GKE 中的容器无法 ping 同一网络上的计算实例
- assets - Akeneo 调整资产变化的大小保持比例