아래와같이 하니 가져오긴하는데 너무길어서 좀간단하게 가져올수잇는 방법이 없을까요?
-- from to 날짜사이의 15일날짜가 몇개있는지 체크
WITH T AS
(
select to_date(:frDt,'yyyymmdd') as frDt
, to_date(:toDt,'yyyymmdd') as toDt
, ceil(months_between( to_date(:toDt,'yyyymmdd'), to_date(:frDt,'yyyymmdd') )) as d_cnt
from dual
)
select sum(case when (case when to_date(to_char(add_months(t.frDt,rownum-1),'yyyymm')||'15','yyyymmdd') >= t.frDt and to_date(to_char(add_months(t.frDt,rownum-1),'yyyymm')||'15','yyyymmdd') <= t.toDt then
to_date(to_char(add_months(t.frDt,rownum-1),'yyyymm')||'15','yyyymmdd')
else
null
end) is null
then 0
else 1
end
) as cnt
from t
connect by rownum <= d_cnt
;