일단 휴일 관리하는 테이블이 별도로 있습니다.
select
(select
dt_wk --영업일
from h_calendar
where dt_cal = '20161122') -
(select
dt_wk --영업일
from h_calendar
where dt_cal = '20161101') 영업일,
(select
dt_wk --영업일
from h_calendar
where dt_cal = '20161130') -
(select
dt_wk --영업일
from h_calendar
where dt_cal = '20161101') 당월영업총일,
(select
dt_wk --영업일
from h_calendar
where dt_cal = '20161130') -
(select
dt_wk --영업일
from h_calendar
where dt_cal = '20161122') 남은영업일
from dual;
이렇게 하면 되기는 하나 이걸로 다시 계산이 들어가야 하는데 그러면 너무 지저분해져서 함수로 처리 하고 싶습니다.
H_CALENDAR 이 테이블이 휴일테이블인데
dt_cal 해당 컬럼은 일자가 들어가는 필드이고(yyyyMMdd)이런식으로
dt_wk 해당 컬럼은 워킹데이가 1 2 3 이런식으로 들어가고 있습니다 그리고 휴일일경우에는 1 2 3 3 이런식으로 워킹데이가 증가하지 않습니다.
fg_cal 해당 컬럼이 H가 오게 되면 휴일로 되어 dt_wk값이 증가 하지 않습니다.
select dt_cal,dt_ac_wk,fg_cal
from h_calendar
where fg_cal not in ('h')
이렇게 하면 휴일없이 나오는데...
고수님들의 조언부탁드립니다.
|