sql

오라클 월 마지막날 첫째날 구하기

무세1 2014. 9. 12. 15:26

오라클에서 제공하는 날짜 함수중 월의 마지막날을 구하는 LAST_DAY 함수가 있다.

> SELECT  TO_CHAR(LAST_DAY(SYSDATE),'YYYYMMDD') MONTH_LAST_DAY FROM DUAL


MONTH_LAST_DAY

------------------

20140930


그러면 월의 첫째날은 어떻게 구해야 할까?

월의 마지막 날에서 하루를 더하면 다음달의 첫날이 된다. 그리고 ADD_MONTHS 라는 함수를 이용해서 한달을 빼면 월의 첫째날을 구할 수 있다.

> SELECT  TO_CHAR(ADD_MONTHS(LAST_DAY(SYSDATE)+1,-1),'YYYYMMDD') MONTH_FIRST_DAY

FROM    DUAL


MONTH_FIRST_DAY

------------------ 

20140901


* 이 방법이 더 단순하네요..

select  trunc(sysdate,'MM') from dual;