时间戳差异的返回值

时间:2017-11-10 07:14:56

标签: mysql sql datetime

我不明白时间戳返回的区别是什么单位。

当我从列中选择max(timestamp)和min(timestamp)时,下面是我得到的值。

max(timestamp)                    
2017-08-31 05:43:45 

min(timestamp)
2017-08-31 05:36:13

但是在查询下面返回732。

select max(timestamp) - min(timestamp) from <TABLE NAME>

然而,如果将时间戳放在time_to_sec()中,它会在几秒钟内给出当前答案,即452。所以我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

当您使用时间戳进行算术运算时,它首先将它们转换为数字形式YYYYMMDDHHMMSS。那就是20170831054345 - 20170831053613732

如果您想将结果作为时间,请使用TIMEDIFF功能。

select TIMEDIFF(max(timestamp), min(timestamp)) from <TABLE NAME>

答案 1 :(得分:0)

这是一个有趣的现象,我很想知道是否有人想出为什么会出现这种情况。

通常,要计算时间戳差异,请使用TIMESTAMPDIFF

TIMESTAMPDIFF(SECOND, min(timestamp), max(timestamp))