基本上,我正在做这样的事情:
select a.name from schedule as a
where date(now()) <= a.dateTo;
但是
a.dateTo
可以为null。因此,我希望查询执行以下操作:select a.name from schedule as a
where date(now()) <= a.dateTo IF a.dateTo is not null;
这只是解释我要实现的目标的简化方法。
有任何想法吗?
更新:
以下示例可能会更好地说明所需内容
select a.name from schedule as a
where date(now()) >= a.dateFrom and
date(now()) <= a.dateTo;
如果添加
OR a.dateTo is null
,我认为它将覆盖第一个条件:date(now()) >= a.dateFrom
,这不是所需的查询。使用AND
也会发生类似的情况。如果
a.dateTo
为null,则它将为> date(now()),因此,如果第一个条件也适用,则应检索这些记录:date(now()) >= a.dateFrom
谢谢你的帮助
最佳答案
select a.name from schedule as a where curdate() <= ifnull(a.dateTo,curdate());