我正在使用以下sql来计算表中记录的时间差,并将它们的总和按employeeId和登录日期分组,但我在中间注入一个条件,如果LogOffTime为null我想要区别当天的当前时间和员工登录的时间。 注意:每位员工一天可以拥有多个登录和LogOff
ROUND(SUM(DATEDIFF(SECOND, LogInTime, IIF(LogOffTime <> NULL,LogOffTime,GetDate()))) / 3600.0, 1) as HoursWorked
但我的情况IIF(LogOffTime <> NULL,LogOffTime,GetDate())
在这里似乎不正确,如果情况正确,有人有任何想法。
答案 0 :(得分:0)
我扭转了条件并且它有效,谢谢,以下是sql
ROUND(SUM(DATEDIFF(SECOND, LogInTime,
IIF(LogOffTime IS NULL,GetDate(),LogOffTime)
)) / 3600.0, 1) as SystemHours