8

这真的很简单,但我一直在努力。我需要帮助在午夜之前获取记录:

 AND last_checked < date('2013-06-25 00:00:00'))

这显然不起作用,因为它的字符串评估。我不想将它限制在今年,并在代码中添加一个 between。非常感谢任何帮助:)

4

3 回答 3

13

您也可以以通用方式执行此操作

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>
于 2013-06-25T21:23:49.947 回答
5

你应该能够做到

AND last_checked < '2013-06-25 00:00:00'

使用该date()函数只是提取参数的日期部分。

于 2013-06-25T21:13:53.943 回答
1

如果last_checkeddatetime数据类型,那么您的WHERE子句将如下所示:

WHERE ... 
    AND cast (last_checked as date) = '2013-06-25'

CAST (datetime as date)丢弃时间部分,因此您可以轻松获取 00h:00m:00s 和 23h:59m:59s 之间的所有数据。

于 2013-06-26T20:44:09.200 回答