我有一个包含员工开始和结束时间的查找表,因此我需要构建一个报告,显示响应时间以及响应客户端所花费的时间。我有8h00的开始时间和17h00的结束时间,假设在这段时间之间有人可用但是如果查询在17h30进来,则意味着参加的人将在第二天的8:00获得。我想要获得一个响应时间,它应该排除没有人可用的时间,也应该排除周末。
以下是样本数据:
所以我的问题出现了,当支持成员需要超过2天的时间来回复查询时,假设它在星期五出现并且在周末没有,例如ID 33的那个在20:28时出现,那里没有人可用,也是22号,它出现在15:28,但没有人可以自由参加,所以第二天就参加了。
答案 0 :(得分:0)
你可以用一个简单的案例来解决这个问题
假设班次和发布日志时间存储为日期时间
case
when datepart(HH, LogTime) < datepart(HH,StartTime) then convert(date, LogTime) + convert(time,StartTime)
when datepart(HH, Logtime) >= datepart(HH,EndTime) then convert(date, dateadd(dd,1,LogTime)) + convert(time,StartTime)
else LogTime
end as DateTimeStart
当然,这不会考虑周末等,但你可以很容易地添加它们。