gpt4 book ai didi

MySQL timediff — 这是一个错误吗?

转载 作者:行者123 更新时间:2023-11-29 13:58:26 27 4
gpt4 key购买 nike

这必须返回 1440 分钟并且工作正常:

select abs(round((TIME_TO_SEC(TIMEDIFF('2013-03-13 10:00', 
'2013-03-14 10:00'))/60),2)) ;

(2) 同一函数日期更改为 2 天,这将返回 50339.98

select abs(round((TIME_TO_SEC(TIMEDIFF('2013-03-12 10:00', 
'2013-03-14 10:00'))/60),2)) ;

(3) 相同的函数,日期更改为 4 天,答案为 50339.98

select abs(round((TIME_TO_SEC(TIMEDIFF('2013-03-10 10:00', 
'2013-03-14 10:00'))/60),2)) ;

这是一个错误吗?

最佳答案

This must return 1440 minutes and is working fine:

没有。可能会有夏令时变化或闰秒变化。您不能仅仅因为您认为两次应该抵消一定金额而依赖它们。

有一些奇怪的事情。

select  
TIMEDIFF('2000-09-14 09:00', '2000-08-10 10:00'),
TIMESTAMPDIFF(SECOND, '2000-09-14 09:00', '2000-08-10 10:00');

给予

838:59:59,-3020400

这是不可能的。解释是 MySQL have a limit 中的 TIME 值可接受的值。

MySQL retrieves and displays TIME values in 'HH:MM:SS' format (or 'HHH:MM:SS' format for large hours values). TIME values may range from '-838:59:59' to '838:59:59'.

显然,您应该使用 TIMESTAMPDIFF() 和 UNIX_TIMESTAMP() 函数之一(这两个函数都返回整数),或者如果您有实际日期,则应该使用 DATEDIFF()。

关于MySQL timediff — 这是一个错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15444804/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com