1

我有以下查询,以获取事件。

SELECT 
  * 
FROM
  events_table 
WHERE event_date > DATE_SUB(NOW(), INTERVAL 1 DAY)
ORDER BY event_status ASC,
  event_date ASC 

我要做的就是返回 event_date 为的所有行today

我要去哪里错了?感谢帮助

4

2 回答 2

6

在你的 where 子句中怎么样:

WHERE DATE(event_date) = DATE(NOW())

还有另一个不会阻止在 event_date 上使用索引的选项:

WHERE event_date BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY)
于 2012-12-10T18:12:21.130 回答
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()
于 2012-12-10T18:12:17.407 回答