1달, 2달 개월수로 신청을 받기 위해 ADD_MONTHS로 날짜를 계산하고
신청들어온 날짜가 개월수로 제대로 들어왔는지 이중체크를 해야합니다.
다른 경우에는 별다른 문제점이 없었는데,
2018-01-29 +1개월 2018-02-28 MONTHS_BETWEEN 0.967741935483870967741935483870967741936
2018-01-30 +1개월 2018-02-28 MONTHS_BETWEEN 0.935483870967741935483870967741935483871
2018-01-31 +1개월 2018-02-28 MONTHS_BETWEEN 1
ADD_MONTHS로 2월 28일 말일날짜 계산되는건 이해가 되긴 하는데..
해당 날짜를 months_between으로 돌리면 1로 안떨어지네요 ㅜㅜ
add_months를 2달로 하면 또 괜찮고..
혹시 이런 고민해보신분들 계실까요...
저 두 날짜만 예외처리를 해야할지....
SELECT ADD_MONTHS(TO_DATE('20180129','YYYYMMDD'),1) FROM dual;
SELECT TO_NUMBER(MONTHS_BETWEEN(TO_DATE('2018-02-28','YYYY-MM-DD'),TO_DATE('2018-01-29','YYYY-MM-DD'))) AS CHK
FROM DUAL;