Mysql 时间戳差异的返回值
我不明白时间戳返回答案的不同单位是什么 当我从列中选择max(timestamp)和min(timestamp)时,下面是我得到的值Mysql 时间戳差异的返回值,mysql,sql,datetime,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> 从中选择最大(时间戳)-最
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。那么我在这里缺少什么呢?当您对时间戳进行算术运算时,它首先将它们转换为数字形式
yyymmddhhmmss
。这就是20170831054345-20170831053613
,也就是732
如果要将结果作为时间,请使用函数
select TIMEDIFF(max(timestamp), min(timestamp)) from <TABLE NAME>
从中选择TIMEDIFF(最大(时间戳),最小(时间戳))
这是一个有趣的现象,我很好奇是否有人能提出这样的原因
通常,要计算时间戳差异,请使用:
TIMESTAMPDIFF(SECOND, min(timestamp), max(timestamp))