我正在把DateTime放入我的SQlite数据库中,但是,我需要从最接近当前日期到最远日期对它们进行排序。我的SQlite列没有DateTime数据类型选项。那么我如何对它们进行排序呢?我在网上找不到任何东西,而且到目前为止我所尝试的都没有成功。
insrf1ej1#
您是对的,SQLite没有原生日期时间数据类型,但是它可以存储这样的数据:SQLite没有专门为存储日期和/或时间而设置的存储类。相反,SQLite的内置Date And Time Functions能够将日期和时间存储为TEXT、真实的或INTEGER值:
*文本格式为ISO 8601字符串(“年-月-日时:分:秒.SSS”)。*真实的表示儒略日数,即根据格里高利历,自公元前4714年11月24日格林威治正午以来的天数。*INTEGER表示为Unix时间,自1970-01-01 00:00:00 UTC以来的秒数。
所有这些选项都将按照您的预期进行排序。选择最适合您的用例的类型。SQLite(和其他关系数据库)中的表是按照数据库引擎认为最方便的方式排序的。
SELECT * FROM my_table ORDER BY created_at DESC;
1条答案
按热度按时间insrf1ej1#
您是对的,SQLite没有原生日期时间数据类型,但是它可以存储这样的数据:
SQLite没有专门为存储日期和/或时间而设置的存储类。相反,SQLite的内置Date And Time Functions能够将日期和时间存储为TEXT、真实的或INTEGER值:
*文本格式为ISO 8601字符串(“年-月-日时:分:秒.SSS”)。
*真实的表示儒略日数,即根据格里高利历,自公元前4714年11月24日格林威治正午以来的天数。
*INTEGER表示为Unix时间,自1970-01-01 00:00:00 UTC以来的秒数。
所有这些选项都将按照您的预期进行排序。选择最适合您的用例的类型。
SQLite(和其他关系数据库)中的表是按照数据库引擎认为最方便的方式排序的。