我不明白时间戳返回的区别是什么单位。
当我从列中选择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。所以我在这里缺少什么?
答案 0 :(得分:3)
当您使用时间戳进行算术运算时,它首先将它们转换为数字形式YYYYMMDDHHMMSS
。那就是20170831054345 - 20170831053613
,732
。
如果您想将结果作为时间,请使用TIMEDIFF
功能。
select TIMEDIFF(max(timestamp), min(timestamp)) from <TABLE NAME>
答案 1 :(得分:0)
这是一个有趣的现象,我很想知道是否有人想出为什么会出现这种情况。
通常,要计算时间戳差异,请使用TIMESTAMPDIFF:
TIMESTAMPDIFF(SECOND, min(timestamp), max(timestamp))