我有一个日期时间格式如下的MySQL数据库
0000-00-00 00:00:00
我想运行一个SQL查询,向我显示超过一小时但不超过当前时间4小时的任何信息
SELECT * FROM gs_objects WHERE dt_server < NOW()
目前显示所有早于当前时间的信息,如何更改此信息以便向我提供超过一小时但不超过4小时的信息
答案 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 )