오라클에서 제공하는 날짜 함수중 월의 마지막날을 구하는 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;


'sql' 카테고리의 다른 글

sqlplus shell에서 실행하기.  (0) 2017.02.15
Oracle hr 확인  (0) 2015.03.06
그룹함수 NTILE  (0) 2014.08.01
sqlite에서 rownum기능.. LIMIT  (0) 2014.07.31
yyyymmdd를 종종 yyyy-mm-dd로 표현해야 할때..  (0) 2014.07.17
Posted by 무세1
,