我有以下查询,以获取事件。
SELECT
*
FROM
events_table
WHERE event_date > DATE_SUB(NOW(), INTERVAL 1 DAY)
ORDER BY event_status ASC,
event_date ASC
我想做的就是返回event_date为today
我哪里出错了? 谢谢你的帮助
答案 0 :(得分:6)
你的where子句如何:
WHERE DATE(event_date) = DATE(NOW())
另一个不会阻止在event_date上使用索引的选项:
WHERE event_date BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY)
答案 1 :(得分:2)
使用CURDATE()
:
SELECT
*
FROM
events_table
WHERE event_date > CURDATE()
ORDER BY event_status ASC,
event_date ASC
这假设event_date将来不会......否则你也想要使用DATE()
函数:
WHERE DATE(event_date) = CURDATE()