MySQL 查询。我可以在 WHERE 子句中添加条件吗?

标签 mysql sql null

基本上,我正在做这样的事情:

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/

相关文章:

python - 使用 CSV 文件加速 SQLite3 UPDATE 功能

mysql - 在搜索范围的 MySQL WHEN 语句中捕获 NULL 或零结果

Java正则表达式删除NULL字符串

SQL:用查询拆分逗号分隔的字符串列表?

mysql - 为什么我的数据被截断了?警告 |第1265章列的数据被截断

php - MySQL 在表末尾插入

php - MySQL 插入,在 PHP 中比 C++ 更快,这是预期的吗?

utf-8 - 使用 UTF8 时控制台输出中的 mysql 表未对齐

php - 如何在html中插入php?

mysql - 使用计数选择查询