获取2个日期之间的记录,但有时它们可​​以为空

时间:2015-06-03 23:20:02

标签: mysql date

我在数据库中有两个日期:start_date和end_date(类型为DATE)。有时end_date可以为null,这意味着如果start_date&lt; = CURRENT DATE,我也需要该记录。 我现在添加了两个日期的条件设置为NOW() >= of.start_date AND NOW() < of.end_date。 如何获取end_date = NULL(在同一查询中)的记录,这意味着如果start_date&lt; = NOW()(他们将来不会开始),它们总是处于活动状态? 还有可能既没有设置start_date也没有设置end_date。在这种情况下,我也需要这些记录。如何在一个查询中实现此目的?

1 个答案:

答案 0 :(得分:1)

使用coalesce()或明确地放置NULL逻辑:

where now() >= of.start_date and (of.end_date >= now() or of.end_date is null)