【发布时间】:2015-03-08 15:52:48
【问题描述】:
我正在寻找一些关于在 SQLite 中比较日期的答案,一些答案指出只要您的日期格式为:
YYYY-MM-DD HH:MM:SS(假设 HH:MM:SS 是 24 小时格式)
如果您将它们作为字符串进行比较(或者将一个日期与另一个日期进行比较,或者检查一个日期是否介于两个日期之间),那么您总是可以的。比如:
SELECT * FROM table WHERE 'YYYY-MM-DD' BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'
我注意到这种格式的一件事是它以可能的最高“范围”开始,年份,然后是月份等。我正在尝试了解这是否会一直有效(算法不是我的强项) ,所以我的问题是,是否有任何“边缘”案例无法解决?
【问题讨论】:
-
判断字段是否等于日期(日期采用相同的字符串格式)或两个日期之间(格式相同)会起作用,但因为该字段实际上不是您想要的日期禁止自己使用日期和时间函数,而无需在每次在查询中使用该字段时将该字段转换为日期。您必须将
substr与每个感兴趣的组件的正确位置一起使用,而不是使用为此目的而设计的函数。为什么您不想将字段定义为它是什么(日期)? -
@BrianDeMilia:SQLite 没有
date数据类型。
标签: sql sqlite date datetime time