MySQL今天返回';使用DATE from DATETIME字段删除记录

MySQL今天返回';使用DATE from DATETIME字段删除记录,mysql,sql,date,datetime,where,Mysql,Sql,Date,Datetime,Where,我有一个名为“actions”的表,其中有一个名为“occurrent”的DATETIME列。我试图通过执行以下操作来返回今天的记录 SELECT * FROM `actions` WHERE `occurred` = DATE(NOW()); 但是我得到一个空的结果集。如果我去掉WHERE子句,我可以看到表中所有295行,从今天开始至少有30行。稍后,我将编写另一个查询,以返回今天的日期和过去X个天数之间的所有记录,但在到达之前,我需要知道此查询返回空结果集的原因 提前感谢。如果中没有未来发

我有一个名为“actions”的表,其中有一个名为“occurrent”的
DATETIME
列。我试图通过执行以下操作来返回今天的记录

SELECT * FROM `actions` WHERE `occurred` = DATE(NOW());
但是我得到一个空的结果集。如果我去掉
WHERE
子句,我可以看到表中所有295行,从今天开始至少有30行。稍后,我将编写另一个查询,以返回今天的日期和过去X个天数之间的所有记录,但在到达之前,我需要知道此查询返回空结果集的原因


提前感谢。

如果
中没有未来发生的日期
,您可以使用以下命令:

SELECT * FROM `actions` WHERE `occurred` > DATE_SUB(CURDATE(), INTERVAL 1 DAY);
DATE(ocurred)
忽略时间部分


下面是处理数据的SQL小提琴:

这非常有效。未来不会有数据。它将严格用于与历史记录进行比较。谢谢你的快速回复!
SELECT * FROM actions WHERE DATE(ocurred) = CURDATE();