SQLite:选择从日期到日期之间的当前日期(如果存在)

时间:2015-08-21 13:12:43

标签: sql sqlite

我有一个包含fromDate和toDate字段的记录的数据库。

获取我使用的活动记录:     datetime('now') between fromDate and toDate; 这很好。

问题是这些字段并不总是填充。

我想要的是,如果不是fromDate而且没有toDate我会一直收到记录

如果只有一个fromDate,那么在那个日期之后我将始终收到记录I

如果只是toDate,我将只收到记录,直到toDate。

非常感谢

阿维

1 个答案:

答案 0 :(得分:1)

你可以使用这样的逻辑:

where datetime('now') >= coalesce(fromDate, datetime('now'))
      datetime('now') <= coalesce(toDate, datetime('now'))

我建议不要将between用于日期/时间值。时间组件有时会产生意外结果。