ADD_MONTHS 는 3개월, 4개월전은 구할 수 있던데
-3.5 개월전은 어떻게 구하는지 한수 가르침 부탁드립니다.
감사합니다.
-- 0.5 개월을 통상 보름(15일)이라 치고 SELECT ADD_MONTHS(sysdate, -3) - 15 FROM dual;
마농님 감사합니다.
이 문제는 저도 관심이 있어서 과거에 테스트했던 것입니다.
김종훈님께서는 문제를 해결하셔서 축하드리지만
만약 months_between 의 역함수를 구하고 싶은 것이 원래의 요건이라면
다른 해결 방법이 필요합니다.
months_between 은 실수를 리턴하고 이 실수를 그대로 add_months에 넣어도 원래의 날짜를 구할 수는 없습니다.
그 이유는 add_months가 정수를 받기 때문이죠.
그러면 완전한 months_between의 역함수는 어떻게 구할까요...
아래의 SQL은 오라클의 months_between의 원래 로직을 SQL로 구현하고 그 역함수를 SQL로 구현한 것입니다.
참고가 되시기를 바랍니다.