티스토리 뷰
반응형
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일 후와 같은 명확한 기준으로 변경하는 것도 좋은 방법이 될 수도 있다.
반응형
댓글