여기선, last_day() 와 add_months() 를 이용한 방법을 확인해 본다.
last_day() 는 해당 월의 마지막 일자를 세팅해 주므로, 2월에 적용하면 됨.
select ymd
from (select to_char(last_day(to_date((to_char(sysdate,'yyyy')-rownum+1)||'02', -- -rownum 이면 이전년도, +rownum 이면 이후년도
'yyyymm')),'yyyymmdd') ymd
from w2_article
where rownum < 1000
)
where substr(ymd,5,4)='0229' -- 윤년
;
1/31 일자에 add_months 로 1개월을 추가하면 2월 말일을 세팅해주는 것을 활용.
select ymd
from (select to_char(add_months(to_date((to_char(sysdate,'yyyy')-rownum+1)||'0131',
'yyyymmdd'),1),'yyyymmdd') ymd
from 인덱스걸린테이블
where rownum < 1000
)
where substr(ymd,5,4)='0229' -- 윤년
;
'Server Oriented > DB-Oracle' 카테고리의 다른 글
하나의 트랜잭션 안에서 sysdate 가 다른 값이 세팅될 수 있다..? (0) | 2017.10.09 |
---|---|
스크레치 복권 발급과 관련된 단상 (0) | 2017.09.25 |
SQL 쿼리 튜닝 (0) | 2017.08.17 |
cascade constraint purge (0) | 2017.07.17 |
exists 조건을 넣을 때 unique index 를 태우지 않는다면.. (0) | 2017.04.28 |