比较MySQL中的TIMEDIFF

时间:2017-05-09 06:05:48

标签: mysql sql date

我有以下数据:

ID   TIMEIN                 TIMEOUT
1    2016-08-24 20:44:00    2016-10-22 19:35:36
2    2016-08-24 20:58:00    2016-08-24 20:59:09

以及我想用来查找timediff小于50小时的所有条目的以下查询

SELECT TimeDiff(TimeOut,TimeIn) 
from table where TimeDiff(TimeOut,TimeIn) < '50:00:00' 

第二行应该返回,因为它小于50小时,但第一行,timediff超过50小时也会继续返回。

02:04:57
15:10:49
125:00:25

它返回所有类型的值,包括大于50的值

我应该使用什么查询?谢谢

2 个答案:

答案 0 :(得分:3)

请尝试以下方法......

SELECT id,
       timeIn,
       timeOut,
       TIMEDIFF( timeOut,
                 timeIn ) AS timeDifference
FROM table
WHERE TIMESTAMPDIFF( SECOND,
                     timeOut,
                     timeIn ) > 180000;

此语句将输出每个记录的字段,其中两个时间差异为50 hours (or 180000秒以上的一秒或更长时间。)。

如果您有任何问题或意见,请随时发表评论。

答案 1 :(得分:2)

尝试在几小时内获得差异,然后进行比较。

SELECT TimeDiff(TimeOut,TimeIn) 
from table where HOUR(TIMEDIFF(endDate, startDate)) < 50