with a as(select 3.254 times from dual union all select 2.546 from dual union all select 0.24 from dual union all select 12.35 from dual ) select sum(trunc(times)) + trunc((sum(trunc(mod(times, 1) * 100)) + trunc(sum(mod(times, 0.01) * 1000) / 10)) / 60) ||':'|| mod((sum(trunc(mod(times, 1) * 100)) + trunc(sum(mod(times, 0.01) * 1000) / 10)) , 60)||':'|| mod(sum(mod(times, 0.01) * 1000) , 10 ) from a;
-- 3.254 代表 3分钟 25秒 800毫秒