SELECT TO_DATE('2014-06-28', 'YYYY-MM-DD') + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 10;
위 쿼리를 돌리면 아래와 같이 나오 잖아요.
2014-06-28
2014-06-29
2014-06-30
2014-07-01
2014-07-02
2014-07-03
2014-07-04
2014-07-05
2014-07-06
2014-07-07
그러면, 월별로 뽑는건 어떻게 해야 하나요?
그러니깐, 예를들면, 6월부터 내년 5월까지 뽑고 싶거든요.. 아래 결과와 같이요..
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
2015-01
2015-02
2015-03
2015-04
2015-05
SELECT TO_DATE('2014-06', 'YYYY-MM') + LEVEL - 1 FROM DUAL CONNECT BY LEVEL <= 12;
이렇게 해 봤는데, 안되서요..
답변 부탁 드립니다. (__)
답변 감사드립니다.
그리고, YYYY-MM-DD 형식으로 나오는데, YYYY-MM 으로 표현하려면,
SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2014-06', 'YYYY-MM'), LEVEL - 1),'YYYY-MM') FROM DUAL CONNECT BY LEVEL <= 12;
이렇게 하는게 최선인가요?
그리구요, 월-월 하려는데요... 일수가 나오네요..
select TO_DATE('2015-06', 'YYYY-MM') - TO_DATE('2014-06', 'YYYY-MM') from dual
두가지 답변 한번만 더 부탁 드립니다 ^^;
날짜 연산 관련 강좌 보시면 보다 상세하게 나옵니다.
http://www.gurubee.net/lecture/1026
"월 - 월 = 월"를 구하는 것이라면 MONTHS_BETWEEN 사용하시면 됩니다.
SELECT MONTHS_BETWEEN(TO_DATE('2015-06', 'YYYY-MM'), TO_DATE('2014-06', 'YYYY-MM')) FROM DUAL;
답변에 대해 최선인지는... 잘 모르겠네요... ㅋ