小编Wes*_*ley的帖子

超过MySQL的TIME值限制为838:59:59

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

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

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
Run Code Online (Sandbox Code Playgroud)

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

有没有办法绕过这个,所以查询的结果可以超过839小时,或者我是否必须使用像PHP这样的东西来遍历整个表并将其全部添加?如果可能的话,我有点想避免这种情况.

mysql time sum

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql ×1

sum ×1

time ×1