2014-09-03 2 views
0

전주의 마지막 날을 결정할 수있는 유연한 방법을 만들려고합니다. 계획 주간이 다른 여러 환경에서 실행된다는 것을 알고 있습니다 (일부 고객은 토 - 일, 월 - 일). 나는 위에서 시도 내가 DATEADD과 날짜 부분의 조합을 사용하려고했습니다SQL - 유연성이있는 전주의 마지막 날 결정

Set @BeginningWeek = 1 -- 1=Mon; 2=Tues; 3=Wed; 4=Thurs; 5=Fri; 6=Sat; 7=Sun 

변수와 함께 (아래 참조) 주 각 고객의 시작일로 사용할 변수를 만들 계획이었다 이전 주 마지막 날을 가져 가야하지만 논리에 문제가 있습니다. Set DateFirst를 사용하고 싶지는 않지만이 스크립트는 고객 환경에서 실행되므로 DB에서 아무 것도 변경하지 않으려 고합니다.

스크립트가 수요일 (9/3)에 실행된다고 가정하십시오. 고객의 계획 주간은 토요일입니다. @EndDate = 이전 금요일 (8/29) 다른 변수를 설정하고 싶습니다. 기획 주간이 Mon-Sun이고 @EndDate = 이전 일요일 (8/31)으로 설정된 다른 고객과 동일한 스크립트 (@BeginningWeek 값만 변경)를 사용할 수있는 유연성이 필요합니다.

+0

어떤 RDBMS를 사용하고 있습니까? – Andrew

+0

Microsoft SQL Server – NRud

답변

0

이렇게하면 지난 토요일에 나옵니다.

%6 비트는 실제 원하는 날짜를 기준으로 매개 변수로 바꿀 수 있어야합니다.