2017-04-05 1 views
0

찾는 방법 SQL 서버에서 일하지 않는 시간 (전일 종료 시간과 다음 날짜 시작 시간은 한 달 동안 모든 날짜에 대해 차이가 있습니까?)? 내 표는 이전 행의 enddt을 얻고 datediff을 사용하여 현재 행의 startdt에서 그것을 뺄 예를찾는 방법 SQL 서버에서 일하지 않는 시간 (전일 종료 시간과 다음 날짜 시작 시간은 한 달 동안 모든 날짜에 대해 차이가 있습니까)?

StartDT      EndDT   NonworkingHr's 

2012-03-05 09:00:00 2012-03-05 15:00:00  
2012-03-04 10:00:00 2012-03-04 16:00:00   18 
2012-03-05 11:00:00 2012-03-05 17:00:00   18 
2012-03-06 10:00:00 2012-03-06 15:00:00   15 
2012-03-09 16:00:00 2012-03-09 18:00:00   25   
2012-03-10 16:00:00 2012-03-10 19:00:00   26 
2012-03-12 16:00:00 2012-03-12 22:00:00   27 

답변

1

사용 lag을 structre.

select startdt,enddt, 
datediff(minute,lag(enddt) over(order by startdt),startdt)/60.0 as non_working_hours 
from tablename 
관련 문제