У меня есть отчет, в котором я должен вычислять общие отработанные часы любым сотрудником в неделю. Отчет отражает часы более 24 часов (или 86400 секунд). Я хочу преобразовать все секунды в формат «00:00:00», сохраняя формат столбцов как дату или время, чтобы я мог продолжить анализ с использованием поля времени.Преобразование секунд в формат «00: 00: 00» - SQL Server
Ниже то, что я пытался до сих пор:
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)
Приведенный выше код дает мне то, что мне нужно, однако выше преобразует секунды в INT для VARCHAR, который не то, что мне нужно для отчета. Мне нужен вывод в формате datetime/time, который может дать мне результаты, подобные «40: 00: 00» для приведенного выше примера. Надеюсь, я могу предоставить всю информацию. Пожалуйста, помогите, поскольку я борюсь с этим из многих дней.
Ожидаемый результат: 40:00:00
Что желаемый результат в течение 144000 секунд? –
@ Выход AnoopH.N должен быть 40:00:00. Извините, забыли добавить ожидаемый результат. Теперь добавлен в вопрос. –