我在数据库中有 2 个日期:开始日期和结束日期(DATE 类型)。有时 end_date 可以为 null,这意味着如果 start_date <= CURRENT DATE 我也需要该记录。
我现在添加了两个日期的条件,如 NOW() >= of.start_date AND NOW() < of.end_date
。
如何获取 end_date = NULL (在同一查询中)的记录,这意味着如果 start_date <= NOW() (它们将来不会启动),它们始终处于事件状态?
也有可能未设置 start_date 和 end_date。在这种情况下,我也需要这些记录。我怎样才能在一个查询中实现这一目标?
最佳答案
使用coalesce()
或显式放入NULL
逻辑:
where now() >= of.start_date and (of.end_date >= now() or of.end_date is null)
关于mysql - 获取两个日期之间的记录,但有时它们可能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632479/