2017-04-26 62 views
0

我有一个包含timestamp列的表。对于给定的日期时间,我希望返回与给定分钟相匹配的所有记录,而不管它是在给定秒还是之后。MySQL select date分钟匹配

换句话说,我有:

2017-04-01 09:41:23 
2017-04-02 09:41:02 
2017-04-02 09:41:27 
2017-04-02 09:42:49 

,并提供:

2017-04-02 09:41:30 

我希望返回:

2017-04-02 09:41:02 
2017-04-02 09:41:27 

感谢所有帮助

+0

你尝试过什么到目前为止? – JYoThI

+0

SELECT * FROM myTable WHERE updated BETWEEN $ time - INTERVAL 1 MINUTE ORDER BY updated DESC – Adry

+0

use DATE_FORMAT and omit the seconds SELECT * FROM myTable where DATE_FORMAT(updated,'%Y-%m-%d%H:%i') = DATE_FORMAT('2017-04-02 09:41:30','%Y-%m-%d%H:%i') – JYoThI

回答

0

你可以提取到分钟:

select t.* 
from t 
where date_format(tscol, '%Y-%m-%d %H:%i') = date_format('2017-04-02 09:41:30', '%Y-%m-%d %H:%i'); 

,或者依赖于常量的类型:

select t.* 
from t 
where date_format(tscol, '%Y-%m-%d %H:%i') = left('2017-04-02 09:41:30', 16); 
+0

工作正常!谢谢! – Adry