【发布时间】:2017-07-25 09:33:19
【问题描述】:
在 MySQL 中,我有两个持续时间:15:12 和 19:24,我想选择它们的总和。这将超过 24:00 小时。好像不行?
【问题讨论】:
在 MySQL 中,我有两个持续时间:15:12 和 19:24,我想选择它们的总和。这将超过 24:00 小时。好像不行?
【问题讨论】:
您可以使用ADDTIME 获取这两个时间值的SUM:
SELECT ADDTIME('15:12', '19:24') -- 34:36:00
对SUM多个时间值可以使用如下解决方案:
SELECT
CONCAT_WS(':',
SUBSTRING(CAST(SEC_TO_TIME(SUM(TIME_TO_SEC(x.t_value))) + 0 AS CHAR), 1, LENGTH(CAST(SEC_TO_TIME(SUM(TIME_TO_SEC(x.t_value))) + 0 AS CHAR)) - 4),
SUBSTRING(CAST(SEC_TO_TIME(SUM(TIME_TO_SEC(x.t_value))) + 0 AS CHAR), -4, 2),
SUBSTRING(CAST(SEC_TO_TIME(SUM(TIME_TO_SEC(x.t_value))) + 0 AS CHAR), -2, 2)
)
FROM (
SELECT '15:12' AS t_value UNION ALL
SELECT '19:24' AS t_value UNION ALL
SELECT '2:00' AS t_value
)x
-- 36:36:00
【讨论】: