SQL Query显示当前时间之前的小时

时间:2017-10-21 11:19:02

标签: php mysql

我有一个日期时间格式如下的MySQL数据库

0000-00-00 00:00:00

我想运行一个SQL查询,向我显示超过一小时但不超过当前时间4小时的任何信息

SELECT * FROM gs_objects WHERE dt_server < NOW()

目前显示所有早于当前时间的信息,如何更改此信息以便向我提供超过一小时但不超过4小时的信息

2 个答案:

答案 0 :(得分:1)

您可以使用date_sub查找日期时间范围:

select *
from gs_objects
where dt_server between date_sub(now(), interval 4 hour)
                and date_sub(now(), interval 1 hour)

如果您不希望在4小时前准确显示日期时间的行,则可以使用:

select *
from gs_objects
where dt_server > date_sub(now(), interval 4 hour)
and   dt_server <= date_sub(now(), interval 1 hour)

答案 1 :(得分:0)

未经测试,但此 应该获得您追逐的内容。

Using DATE_SUB通过比较找到1小时和4小时前的时间。

where dt_server < DATE_SUB( NOW(), INTERVAL 1 HOUR )
  and dt_server > DATE_SUB( NOW(), INTERVAL 4 HOUR )