Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我跑
select timestamp('2013-10-17 19:00:45') - timestamp('2013-10-17 18:59:37');
它返回
4108.000000
为什么?这不是闰日,timestamp是正确的函数,并且减去不超过小时边界的时间。
timestamp
这里的一种解决方法是使用unix_timestamp而不是timestamp. 但这仍然不能解释这里发生了什么奇怪的事情。
unix_timestamp
当您减去日期时间时,它首先将它们转换为以下形式的数字:
YYYYMMDDHHMMSS.uuuuuu
所以你会看到这个结果:
mysql> select 20131017190045.000000 - 20131017185937.000000 diff; +-------------+ | diff | +-------------+ | 4108.000000 | +-------------+