我有一个包含时间戳列的表。对于给定的日期时间,我希望返回与给定分钟匹配的所有记录,无论它是在给定的秒之前还是之后。
换句话说,我有:
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 :(得分:1)
您可以直接提取到分钟:
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);