这个问题在这里已经有答案了:
超过mysql的时间值限制838:59:59(6个答案)
两年前关门了。
我试图将时间值求和,并以hours:minutes:秒,即100:30:10。
SEC_TO_TIME(SUM(TIME_TO_SEC(ActualHours))) AS Hours
但我有个问题,因为时间的最大值是838:59:59。因此,如果时间总和超过这个值,它就不会显示,也就是说,如果它等于900小时,它将显示为838:59:59,这是错误的。
如果超过838:59:59,如何显示总小时数?
3条答案
按热度按时间gzszwxb41#
如果必须用sql进行转换,我会这样做:
我们可以换个新的
_secs_
返回要转换的秒数的表达式。使用问题中给出的表达式,我们得到如下结果:示范
这个答案中提供的语法在mysql 5.6中是有效的。作为演示,使用用户定义的变量
@_secs
作为秒数表达式:设置用于演示的用户定义变量:
退货
演示查询模式:
退货
xoefb8l82#
使用一些简单的数学来计算从秒开始的时间段,用你的列替换35000。
一把小提琴
qnakjoqk3#
我们有一种方法可以做到这一点:
对于10000000(一千万)秒的输入,这将生成:
演示