获取从当前小时开始的行



我有数据存储在mySQL数据库中,我想检索从现在到当前小时开始之间插入的行:不是在一小时开始以来的最后一小时。例如,在 9:16 我想要从 9:00 到现在的行。我的时间以数据时间格式存储。我该怎么做?

下面的查询选择当前小时和当前时间之间的所有行。因此,如果当前时间为 10:11,它将选择当前日期内 10:0010:11 之间的所有行。

SELECT * 
FROM Test
WHERE mytime BETWEEN DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') 
             AND DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')

我测试了它并工作了。

首先想到的是:

select *
from t
where date(now() ) = date(t.timeval) and
      hour(now() ) = hour(t.timeval)

我假设数据中没有未来的记录。 如果是这样,那么就会想到这一点:

select *
from t
where date(now() ) = date(t.timeval) and
      hour(now() ) = hour(t.timeval) and
      timeval < now()
SELECT * FROM times WHERE t >= DATE_FORMAT(NOW(),'%Y-%m-%d %H:00:00');

相关内容

  • 没有找到相关文章

最新更新