Developer29 Ответов: 1

Как преобразовать минуты в HH: MM:SS в SQL?


Я хочу вычислить сумму рабочих часов сотрудника в HH:MM: SS и общее количество дней в десятичной системе счисления..

Это мой вопрос...Но я не получаю фактическую сумму общих часов:минут:секунд

Я хочу, чтобы результат был таким.

сумма рабочих часов = "52: 02: 04" и общее количество дней=6,5 дней (в день 8 часов)

Что я уже пробовал:

select isnull(CONVERT(char(8), DATEADD(HH,SUM(DATEDIFF(MINUTE,FROMTIME,TOTIME)), ''), 114),'00:00:00') as 'TotalHours',isnull((sum(DATEDIFF(HH,FROMTIME,TOTIME))/8),'0') as 'TotalDay' FROM TRNSWRKPROGRESS 

1 Ответов

Рейтинг:
4

Developer29

Наконец я нашел решение..Это хорошо работает...

select 
cast(sum(datediff(second,FROMTIME,TOTIME))/3600 as varchar(12)) + ':' + 
        right('0' + cast(sum(datediff(second,FROMTIME,TOTIME))/60%60 as varchar(2)),2) +
        ':' + right('0' + cast(sum(datediff(second,FROMTIME,TOTIME))%60 as varchar(2)),2) as 'Total Hours',
        CAST(sum(DATEDIFF(SECOND, FROMTIME, TOTIME)/28800.0) AS DECIMAL(5,2)) as 'Totaldays'
         from  TRNSWRKPROGRESS