여러가지 방법이 있지만 가장 간단하다고 생각하는건 LAST_DAY()를 활용하는 방법이다

 

해당 월의 첫번째 날을 구하는 법

SELECT LAST_DAY(NOW() - INTERVAL 1 MONTH) + INTERVAL 1 DAY AS START_DAY FROM DUAL;

 

해당 월의 마지막 날을 구하는 법

SELECT LAST_DAY(NOW()) AS END_DAY FROM DUAL;

 

 

여기서 이전달, 다음달의 경우는 INTERVAL MONTH를 조절하면 된다.

 

이전 월의 첫번째 날을 구하는 법

SELECT LAST_DAY(NOW() - INTERVAL 2 MONTH) + INTERVAL 1 DAY AS START_DAY FROM DUAL;

 

이전 월의 마지 날을 구하는 법

SELECT LAST_DAY(NOW() - INTERVAL 1 MONTH) AS END_DAY FROM DUAL;

 

위와 같은 방법으로 수정이 가능하다.