这很简单,但我总是很努力。我需要帮助在午夜之前获取记录:
AND last_checked < date('2013-06-25 00:00:00'))
这显然不起作用,因为它的字符串评估。我不想将它限制在今年,并在代码中加入。非常感谢任何帮助:)
答案 0 :(得分:10)
您也可以通用方式执行此操作
AND last_checked < ( DATE(NOW()) + INTERVAL 0 SECOND );
注意:
mysql> SELECT DATE(NOW()) + INTERVAL 0 SECOND Midnight;
+---------------------+
| Midnight |
+---------------------+
| 2013-06-25 00:00:00 |
+---------------------+
1 row in set (0.00 sec)
mysql>
答案 1 :(得分:3)
你应该能够做到
AND last_checked < '2013-06-25 00:00:00'
使用date()
函数只提取参数的日期部分。
答案 2 :(得分:1)
如果last_checked
属于datetime
数据类型,那么您的WHERE
子句将如下所示:
WHERE ...
AND cast (last_checked as date) = '2013-06-25'
CAST (datetime as date)
会删除时间部分,因此您可以在00h:00m:00s和23h:59m:59s之间轻松获取所有数据。