gpt4 book ai didi

mysql - 超出 MySQL 的 TIME 值限制 838 :59:59

转载 作者:行者123 更新时间:2023-11-29 16:00:47 28 4
gpt4 key购买 nike

标题可能有点令人困惑,所以请允许我解释一下。我正在使用一个表格来记录我的工作日志。每天我都会创建一个条目,说明我工作的时间,并添加一条评论来描述我所做的事情。

然后,我使用查询来比较时间戳,以准确计算出我当天工作了多少小时和分钟。此外,我使用查询来计算我全年工作的小时数和分钟数的总和。这就是我遇到问题的地方。我的查询如下。

SELECT TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(entry_end_time, entry_start_time)))), '%H:%i') 
AS total FROM entry
WHERE entry_date BETWEEN '2012-01-01' AND '2012-12-31' AND user_id = 3

默认情况下,MySQL TIME 字段允许的时间范围为“-838:59:59”到“838:59:59”。不过,我今年已经记录了超过 900 小时的工作时间,我希望查询结果能够反射(reflect)这一点。相反,结果是 838:59:59,这是有道理的,因为这是极限。

有没有办法解决这个问题,以便查询结果可以超过 839 小时,或者我是否必须使用 PHP 之类的东西来遍历整个表并将其全部加起来?如果可能的话,我想避免这种情况。

最佳答案

看看timestampdiff没有时间限制。IE。像(未经测试):

SELECT CONCAT(
TIMESTAMPDIFF(HOURS, entry_end_time, entry_start_time),
":",
MOD(TIMESTAMPDIFF(MINUTES, entry_end_time, entry_start_time),60)
)
AS total FROM entry
WHERE entry_date BETWEEN '2012-01-01' AND '2012-12-31' AND user_id = 3

连接并不理想,我相信会有一个更优雅的解决方案。

关于mysql - 超出 MySQL 的 TIME 值限制 838 :59:59,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56219466/

28 4 0
文章推荐: javascript - Material-ui 抛出一个 Element 类型无效