选择mysql语句,其中当前时间距离时间戳至少60分钟以上

时间:2012-10-29 18:10:15

标签: mysql select

我有一个带有名为DATECREATED的时间戳字段的数据库,我正在尝试运行一个select语句来检索当前时间距离时间戳至少60分钟以上的所有记录

EG。

时间戳是2012-10-29 12:08:11。

我想检索一条记录,只要它已经从上面的时间戳开始经过了60分钟。因此,如果时间是13:09或15:09,则应该检索它。如果时间是12:15,它应该返回0;

任何帮助都会受到高度赞赏,因为到目前为止,其他答案还没有得到帮助。

感谢。

3 个答案:

答案 0 :(得分:2)

select * from your_table
where DATECREATED - interval 60 minute <= now() 

请参阅this SQLFiddle

答案 1 :(得分:1)

CURRENT_TIMESTAMP - INTERVAL 60 MINUTE返回60分钟前的时间。任何小于或等于该值的时间都应该是,最多60分钟。

SELECT *
FROM `table`
WHERE `datecreated` <= CURRENT_TIMESTAMP - INTERVAL 60 MINUTE

答案 2 :(得分:0)

...
where DATECREATED between subdate(timestamp, interval 60 minute) 
                      and adddate(timestamp, interval 60 minute)

通过使用between这样的两个常量值(每个查询计算一次),将使用DATECREATED上的索引(如果存在)