我需要准备一份年度管理报告,以显示所有员工在时间范围和月份内的总加班时间(OT)工作时间和分钟。
ms sql 2000数据库中的时间格式如下:
每条记录都包含FROM日期和时间。时间和日期&时间
报告布局如下:
我不知道如何划分和计算总小时数和时间范围内的分钟,因为每个OT记录将重叠若干时间范围和日期。
请帮忙。感谢。
乔
答案 0 :(得分:1)
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