2014-09-11 6 views
0

현재 날짜 이후 2 일이 주말이 될 경우를 제외하고 현재 날짜 이후 2 일인 날짜를 추출하려고합니다.이 경우 주간 날짜를 찾습니다. 현재 날짜로부터 4 일 후입니다. Data Studio를 사용하고 있으며 dateadd와 같은 SQL 함수가 작동하지 않습니다.날짜에서 주말을 제외한 SQL

나는 내가이 풀을 사용하여 원하는 날짜를 얻을 수 있습니다 알고

select event_end_date from mdmins11.contract where event_end_date between (current date +1.9 days) and (current date + 2.1 days); 

하지만이 주말을 배제하지 않는다. 나는 같은 수학적을하려고했다 : 여기

select event_end_date 
case(
when (current date + 2 days) = ('2014-09-06' + (7 days * int)) or ('2014-09-07' + (7 days * int)) 
then set @w = (current date + 4 days) 
else set @w = (current date + 2 days) 
) 
from mdmins11.contract where event_end_date = @w; 

나는 경우 토요일과 일요일 후 주말 (현재 날짜 + 2) 땅이다 날짜를 찾기 위해 노력하고있다. 이것은 전혀 작동하지 않습니다. 누구든지 함수를 사용하지 않고 SQL에서이 작업을 수행하는 방법을 알고 있습니까? 나는 나의 날짜 형식이 틀릴 수도 있다고 사과하지만 해결책을보기가 어렵다.

+0

을 사용하고있는 DBMS.? SQL Server, MySQL, Oracle ...? – DrCopyPaste

+0

이것은 IBM MDM 시스템입니다 – user2590369

+0

아, '[mdm]'은 여기에있는 '모바일 장치 관리'를 의미합니다. 오해의 소지가 있습니다.이 ibm 기술에 대한 태그가 아직없는 것 같습니다. – DrCopyPaste

답변

1

답변을 찾았습니다! 누군가를 위해 누가 같은 상황에있다 : 당신이 휴가 기간의 목록을 가지고 있다면

select dayofweek(current date) as day_number, 
    event_end_date 
from mdmins11.contract 
where (dayofweek(event_end_date) = 6 /*Friday*/ 
and date(event_end_date) < current_date + 3 days 
and date(event_end_date) >= current_date) 
or  (dayofweek(event_end_date) in (1,2,3,4,5,7) /*All other days of week*/ 
and date(event_end_date) < current_date + 2 days 
and date(event_end_date) >= current_date) 

; 

, 당신은 또한이 통합 할 수 있습니다 당신이

관련 문제