2011-11-14 3 views
3

을 포함 할 필요가 i를 때라도 쿼리가 있습니다SQL 쿼리는 공휴일

set language 'english' 

DECLARE @MyDate DATETIME 

SET @MyDate = dateadd(dd,-1,dateadd(mm,datediff(mm,0,getdate()),0)) 

SELECT ReportEndDate = DATEADD(dd, CASE 
     WHEN DATENAME(weekday,@MyDate) = 'Saturday' THEN 5 
     WHEN DATENAME(weekday,@MyDate) IN ('Monday','Sunday') THEN 4 
     ELSE 6 END, @MyDate) 

당신이 월말 일 + 4 일 retuns를 볼 수 있습니다.

크리스마스와 새해를 포함하려면 이것을 확장해야합니다. 위 쿼리를 통해 새 달의 4 일 근무일을 마감 할 때 은행 휴무일을 고려합니다.

모든 포인터가 많이 노출됩니다.

답변

7
+1

는 동의하지만, 어쩌면 당신은 그가 테이블을 활용하는이 쿼리를 수정하는 방법을 설명 할 수 있을까? –

+0

게시 한 링크를 통해 내가 할 수있는 것보다 훨씬 간결하게 요약 할 수 있습니다. 섹션에서 잘라 내기 및 붙여 넣기를 할 수 있지만 ("두 날짜 간의 업무 일수 얻기"의 쿼리 포함), 원래 포스트 스탠드를 자신의 것으로 보일 것이라고 생각했습니다. –