티스토리 뷰

반응형

ADD_MONTHS 함수는 개월을 더하거나 뺄수있는 아주 유용한 함수이다.

사용법은 아래와 같다. 특별히 설명이 필요없을 정도로 아주 간단하다.

1
2
3
4
5
SELECT ADD_MONTHS('20181001'1)  AS 한달 후
     , ADD_MONTHS('20181001'-1) AS 한달 전
     , ADD_MONTHS('20181001'2)  AS 두달 후
     , ADD_MONTHS('20181001'-2) AS 두달 전 
  FROM DUAL;
cs


하지만 한가지 주의할 점이 있다.

아래의 SQL을 실행해서 결과값을 확인해보자.

1
2
3
4
5
6
7
SELECT ADD_MONTHS('20181029'1)
     , ADD_MONTHS('20181030'1)
     , ADD_MONTHS('20181031'1)
     , ADD_MONTHS('20181029'-1)
     , ADD_MONTHS('20181030'-1)
     , ADD_MONTHS('20181031'-1)       
  FROM DUAL;
cs


'20181030'과 '20181031'의 한달 전과 한달 후의 결과가 똑같이 나오는 것을 알 수 있다.
말일이 아닐 경우는 그 다음달이나 전달의 같은 날짜를 기준으로 하지만
말일일 경우는 그 다음달이나 전달의 말일을 기준으로 하기 때문이다.

이런 현상이 문제가 될 경우에는 30일 후와 같은 명확한 기준으로 변경하는 것도 좋은 방법이 될 수도 있다.


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함