У меня есть система входа/выхода, которая вычисляет общую работу часов сотрудников. Моя проблема заключается в форматировании даты & разницы во времени за минуты.формат разницы во времени и времени
Пример:
, если пользователь вошел в 8:00 AM
и вошедшего из 6:30 PM
, итог должен быть 10.50
но мой выход SQL является 10 hrs and 30 mins
. Я знаю формулу (она должна быть 30mins/60 = 50
), но я не знал, где я должен поместить этот Dividend (/60
) в свой SQL-запрос. (see below my SQL Code)
.
SQL код:
SELECT *,CAST(Datediff(HOUR, 0, logout_time - login_time) +
Cast(Datediff(MINUTE, 0, logout_time - login_time) -
(Datediff(HOUR, 0, logout_time - login_time) * 60) AS DECIMAL)/100 AS Decimal(18,2)) AS [TotalHrs_Worked]
FROM table_DTR
WHERE CONVERT(VARCHAR(10),log_date, 101) BETWEEN '09/01/2014' AND '11/30/2014'
DATEDIFF (минута, logout_time, login_time)/60 – adrianm
@adrianm: Я также пробовал это. но мне не повезло – Waelhi
'SELECT DATEDIFF (минута, '20141215 08:00:00', '20141215 18:30:00')/60.0' дает мне' 10.50000' – adrianm