基本上,我正在做这样的事情:
select a.name from schedule as a
where date(now()) <= a.dateTo;
但是a.dateTo
可以为空。所以,我想要一个查询来做这样的事情:
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());
关于MySQL 查询。我可以在 WHERE 子句中添加条件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8925101/