我有一个带有名为 DATECREATED 的时间戳字段的数据库,我正在尝试运行一个 select 语句来检索当前时间距时间戳至少 60 分钟以上的所有记录
例如。
时间戳为 2012-10-29 12:08:11。
我只想从上面的时间戳记起 60 分钟后才检索记录。因此,如果时间是 13:09 或 15:09,则应该检索它。如果时间是 12:15,应该返回 0;
任何帮助将不胜感激,因为这里的其他答案到目前为止还没有帮助。
谢谢。
select * from your_table
where DATECREATED - interval 60 minute <= now()
CURRENT_TIMESTAMP - INTERVAL 60 MINUTE
返回 60 分钟前的时间。任何小于或等于该值的时间都应该最多 60 分钟。
SELECT *
FROM `table`
WHERE `datecreated` <= CURRENT_TIMESTAMP - INTERVAL 60 MINUTE
...
where DATECREATED between subdate(timestamp, interval 60 minute)
and adddate(timestamp, interval 60 minute)
通过使用between
带有两个常量值(每个查询计算一次)的类似这样的索引,DATECREATED
将使用索引(如果存在)