Учитывая начальное и конечное время, я хочу знать, сколько минут за определенный час покрыто.Рассчитать, сколько минут было использовано в заданный час
create function CalcMinsInHour(@start datetime, @end datetime, @hour int)
returns int
as
begin
--Looking for best way to write this part
end
CalcMinsInHour('2012-01-18 8:15', '2012-01-18 10:30', 7) should return 0
CalcMinsInHour('2012-01-18 8:15', '2012-01-18 10:30', 8) should return 45
CalcMinsInHour('2012-01-18 8:15', '2012-01-18 10:30', 9) should return 60
CalcMinsInHour('2012-01-18 8:15', '2012-01-18 10:30', 10) should return 30
CalcMinsInHour('2012-01-18 8:15', '2012-01-18 10:30', 11) should return 0
Редактировать: @Start и @End представляют временные часы для часов сотрудников. Так что да, они могут охватывать два дня, когда они работают за полночь, но не более того.
являются диапазоны дат гарантировано только в тот же день? – RQDQ
Лучший способ? Звучит скорее как «способ». :) – bzlm
Как вы хотите обрабатывать несколько интервалов времени? Если вы введете '2012-01-18 8: 15' и' 2012-01-20-13: 30', что бы вы хотели получить? – JNK