gpt4 book ai didi

mysql - 为什么 mysql timediff 函数会给出错误的输出?

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:57 24 4
gpt4 key购买 nike

当我使用 timediff 函数时,mysql 没有给出预期的输出。 mysql的版本是5.5

SELECT TIME_FORMAT(TIMEDIFF( '2018-06-18 08:20:00','2019-01-25 14:29:00'),'%H:%i:%s');

最佳答案

TIMEDIFF 不能超过 839 小时,因此,您将无法测量超过 ~35 天的更长范围的差异。在这种情况下,您可以执行以下操作:

  • 使用TIMESTAMPDIFF获取秒数
  • 将秒转换为hh:m:ss

例如

SET @seconds := (SELECT TIMESTAMPDIFF(second, '2018-06-18 08:20:00','2019-01-25 14:29:00'));
SELECT CONCAT(FLOOR(@seconds/3600),':',FLOOR((@seconds%3600)/60),':',(@seconds%3600)%60) AS difference;

如果您想在同一个查询中执行这两项操作,则可以使用以下命令:

SELECT CONCAT(FLOOR(TIMESTAMPDIFF(second, '2018-06-18 08:20:00','2019-01-25 14:29:00')/3600),
':',FLOOR((TIMESTAMPDIFF(second, '2018-06-18 08:20:00','2019-01-25 14:29:00')%3600)/60),
':',(TIMESTAMPDIFF(second, '2018-06-18 08:20:00','2019-01-25 14:29:00')%3600)%60)
AS difference;

这是 SQLFiddle1 SQLFiddle2 .

关于mysql - 为什么 mysql timediff 函数会给出错误的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54362585/

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