Преобразование секунд в формат "00: 00:00" - SQL server
У меня есть отчет, в котором я должен рассчитать общее количество отработанных часов любым сотрудником за неделю. Отчет отражает часы более 24 часов (или 86400 секунд). Я хочу преобразовать все секунды в формат "00: 00:00", сохраняя формат столбцов как datetime или time, чтобы я мог провести дальнейший анализ с помощью поля time.
Этот код дает мне то, что мне нужно, однако вышеизложенное преобразует секунды в INT в varchar, что не является тем, что мне нужно для отчета. Мне нужно, чтобы выходные данные были в формате datetime/time, который может дать мне такие результаты, как "40:00:00" для данного примера.
Я надеюсь, что смогу предоставить вам всю необходимую информацию. Пожалуйста, помогите, так как я борюсь с этим уже много дней.
Что я уже пробовал:
Ниже приведено то, что я пробовал до сих пор:
Declare @WorkTimeInSeconds int Set @WorkTimeInSeconds = 144000 --This value is an example. Mostly values are above 86400 seconds Select ActualHoursWorked = convert(varchar,(@WorkTimeInSeconds)/3600) + ':' + right( '0' + convert(varchar,((@WorkTimeInSeconds) %3600)/60),2) + ':' + right( '0' + convert(varchar,(@WorkTimeInSeconds) %60),2)