我想删除特定日期的所有条目,但在我的日期字段中我也有时间。
我可以使用通配符之类的东西吗?像:
DELETE FROM table WHERE time='01.01.2010 WILDCARD';
时间是我写WILDCARD的地方
我想删除特定日期的所有条目,但在我的日期字段中我也有时间。
我可以使用通配符之类的东西吗?像:
DELETE FROM table WHERE time='01.01.2010 WILDCARD';
时间是我写WILDCARD的地方
使用DATE()
功能。
DELETE FROM table WHERE DATE(time) = '2010-01-01'
要有效地使用 上的任何索引DateTimeColumn
:
DELETE FROM table
WHERE DateTimeColumn >= '2010-01-01'
AND DateTimeColumn < '2010-01-02' ;
我建议使用BETWEEN
:
DELETE FROM table
WHERE DateTimeColumn BETWEEN '2010-01-01 00:00:00' AND '2010-01-01 23:59:59';
分别 23:59:61
,因为我不知道 MySQL 是否适当地处理闰秒。
或者,我建议修改ybercube 的答案并执行
DELETE FROM table
WHERE DateTimeColumn >= '2010-01-01 00:00:00'
AND DateTimeColumn < '2010-01-02 00:00:00';
请注意,我不确定第二个解决方案是否完全等同于 ybercube 的解决方案,或者在某些情况下是否存在任何差异,例如转换问题或日期和日期时间格式之间的延迟。