매월 첫번째 월요일에만 작업이 돌아야 하는 경우가 생겼다..
오라클 SQL에서 매월 첫번째 월요일을 구하는 방법을 알아보자..
일단
TRUNC(date,char) SYSDATE를 년,월,날 기준으로 잘라버린다..
NEXT_DAY(date,char) 함수는 date로부터 그 다음주 char로 명시한 요일을 출력한다.
이 두함수를 이용해서 날을 구해보았다..
SELECT TRUNC(SYSDATE,'MONTH') FROM DUAL
UNION ALL
SELECT TRUNC(SYSDATE,'MONTH')-1 FROM DUAL
UNION ALL
SELECT NEXT_DAY((TRUNC(SYSDATE,'MONTH')-1),'월') FROM DUAL
결과는..
2014/03/01 00:00:00
2014/02/28 00:00:00
2014/03/03 00:00:00
TRUNC함수를 이용해서 당월 1일을 구하고
-1을 해서 전월 마지막 날을 구한후에
NEXT_DAY함수를 이용해서 다음주 월요일을 구하면 당월 첫번째 월요일을 구할 수 있다.
'sql' 카테고리의 다른 글
오라클에서 join을 이용한 update문.. (0) | 2014.03.20 |
---|---|
SQL문에서 like 검색.. escape (0) | 2014.03.19 |
오라클 TRUNC 함수.. (0) | 2014.03.17 |
oracle 분석함수 RANK, DENSE_RANK, ROW_NUMBER 차이.. (0) | 2014.03.17 |
오라클 그룹 함수 over, partition by (2) | 2014.03.14 |