MySQL选择分钟匹配的日期时间

Posted

技术标签:

【中文标题】MySQL选择分钟匹配的日期时间【英文标题】:MySQL select datetime where minute matches 【发布时间】:2017-09-23 17:47:58 【问题描述】:

我有一个包含时间戳列的表。对于给定的日期时间,我希望返回与给定分钟匹配的所有记录,无论它是在给定秒之前还是之后。

换句话说,我有:

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

感谢您的帮助

【问题讨论】:

到目前为止你尝试了什么? SELECT * FROM myTable WHERE updated BETWEEN $time - INTERVAL 1 MINUTE ORDER BY updated DESC 使用 DATE_FORMAT 并省略秒 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 绝对有效,谢谢! 【参考方案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);

【讨论】:

以上是关于MySQL选择分钟匹配的日期时间的主要内容,如果未能解决你的问题,请参考以下文章

MySql 选择日期相差 30 分钟的最后一行

从彼此相差不超过 x 分钟的日期中选择最晚的日期

如何在php/codeigniter或mysql中获得两个相差20分钟的日期的所有组合

mysql 计算两个日期的时间差函数小时分钟格式

mysql 计算两个日期的时间差函数小时分钟格式

mysql 计算两个日期的时间差函数小时分钟格式