php - mysql where 子句中的 if 条件

标签 php mysql sql

我有一个名为 content 的表带字段id , namew , publish_date , unpublish_date

publish_dateunpublish_date两者都可以 null

现在我想选择数据如果 publish_date is not null然后publish_date <= CURDATE()

我尝试使用此查询

select * 
from content
where if(publish_date is not null, publish_date  <= CURDATE(),'') 

但我不知道在其他情况下该放什么。因为我只需要 if 条件而不是 else 条件

最佳答案

您应该编写相互排除的条件:

select * 
from content 
where publish_date is null
   or publish_date <= CURDATE()

关于php - mysql where 子句中的 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792067/

相关文章:

sql - mysql - 加速正则表达式

mysql - SQL Server 中 Mysql 的 SHOW INDEX 替代方案是什么?

c# - EF 6 不在 Web.config 中使用连接字符串

sql - 事务中是否允许不一致状态?

javascript - 通过带有对话框的服务器上的(私有(private))网站存储/加载数据

php - 根据另一个下拉列表中的所选值限制日期

php - Wamp 和 Xampp "Your PHP installation appears to be missing the MySQL extension which is required by WordPress."

java - 惰性(贪婪)使用正则表达式匹配多个组

php - 将数组插入 MySQL DB(意外的 T_STRING)

c# - LinqToSql 引用的实体将抛出 NullReferenceException