SUM时间值MySQL

user123456789

我正在尝试对时间值求和,并将其设置为小时:分钟:秒的格式,即100:30:10。

SEC_TO_TIME(SUM(TIME_TO_SEC(ActualHours))) AS Hours

但是我有一个问题,因为时间的最大值是838:59:59。因此,如果求和时间超过该值,则不会显示,即,如果等于900小时,则将显示为838:59:59,这是错误的。

如果超过838:59:59,如何显示总小时数?

蒂姆·比格莱森(Tim Biegeleisen)

这是我们可以执行此操作的一种方法:

SELECT
    CONCAT(CAST(FLOOR(seconds / 3600) AS CHAR(50)), ':',
           CAST(FLOOR(60*((seconds / 3600) - FLOOR(seconds / 3600))) AS CHAR(50)), ':',
           CAST(seconds % 60 AS CHAR(50))) AS time
FROM yourTable;

输入10,000,000(一千万)秒,将产生:

2777:46:40

演示版

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章