有人能否解释一下MySQL的这种行为吗?
查询:
查询:
SELECT NOW() + INTERVAL 90 SECOND - NOW() AS test;
结果:
130 - 当now()在(00:00 - 00:29)时间间隔内时
170 - 当now()在(00:30 - 00:59)时间间隔内时
我将130的结果解释为“1分钟30秒”。170的结果很奇怪,我怀疑它与分钟溢出有关,但我无法解释。
以下查询正常工作(我的意思是-如我所预期):
select TIMEDIFF( DATE_ADD( now(), INTERVAL 90 SECOND), now()) AS test;
结果:00:01:30
+
和-
进行日期计算存在缺陷(如果不是完全失效的话)。将一个数字添加到日期会返回一个奇怪的数字而不是日期:http://www.sqlfiddle.com/#!2/d41d8/13888。只需坚持使用date_add()函数,你就不会出现这种情况了。 - user330315