2
我需要準備一份年度管理報告,以顯示所有員工在時間範圍和月份內的總加班(OT)工作小時數和分鐘數。ASP - 如何計算時間範圍內的總小時數和分鐘數
在MS SQL時間格式2000數據庫如下:
,每項記錄都包含日期從&時間和日期&時間
報表佈局如下:
我不知道如何劃分和計算時間範圍內的總時數&分鐘,因爲每個OT記錄將重疊幾個時間範圍和日期。
請幫忙。謝謝。
喬
我需要準備一份年度管理報告,以顯示所有員工在時間範圍和月份內的總加班(OT)工作小時數和分鐘數。ASP - 如何計算時間範圍內的總小時數和分鐘數
在MS SQL時間格式2000數據庫如下:
,每項記錄都包含日期從&時間和日期&時間
報表佈局如下:
我不知道如何劃分和計算時間範圍內的總時數&分鐘,因爲每個OT記錄將重疊幾個時間範圍和日期。
請幫忙。謝謝。
喬
的SQL DateDiff function可用於計算的分鐘數,即
declare @fromDT datetime
declare @toDT datetime
set @fromDT = '10/22/2011 18:30'
set @toDT = '10/22/2011 22:45'
select @fromDT,@toDT,DATEDIFF(mi,@fromDt,@toDt),
ltrim(str(DATEDIFF(mi,@fromDt,@toDt)/60))+':'+
ltrim(str(DATEDIFF(mi,@fromDt,@toDt)%60)) as HoursMin
返回
StartTime End Time Mins HoursMin
2011-10-22 18:30:00.000 2011-10-22 22:45:00.000 255 4:15
謝謝。如果ot記錄從2011-01-01 09:00開始到2011-01-01 11:30。我如何在09:01-10:00加1小時,10:01-11:00加1小時,11:01-11:30加30分鐘用於年度報告? –
可能會更有意義有範圍的,比如'00: 00 - 00:59','01:00 - 01:59'等,而不是'00:01 - 01:00','01:01 - 02:00'等等。至少,前者比後者(我認爲)。 –