我将数据存储在 mySQL 数据库中,我想检索从现在到当前小时开始之间插入的行:不是在最后一小时,而是从一小时开始。例如,在 9:16,我想要从 9:00 到现在的行。我的时间以数据时间格式存储。我怎样才能做到这一点?
问问题
7907 次
3 回答
10
下面的查询选择当前时间和当前时间之间的所有行。因此,如果当前时间是10:11,它将选择当前日期内10:00到10: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')
我测试了它并工作了。
于 2013-01-24T15:00:38.737 回答
6
首先想到的是:
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()
于 2013-01-24T14:56:33.357 回答
2
SELECT * FROM times WHERE t >= DATE_FORMAT(NOW(),'%Y-%m-%d %H:00:00');
于 2013-01-24T15:04:01.143 回答