오라클 달력 생성 쿼리
SELECT
--달력 맵핑
MIN(DECODE(TO_CHAR(DATES,'D'),1,TO_CHAR(DATES,'DD'))) 일
,MIN(DECODE(TO_CHAR(DATES,'D'),2,TO_CHAR(DATES,'DD'))) 월
,MIN(DECODE(TO_CHAR(DATES,'D'),3,TO_CHAR(DATES,'DD'))) 화
,MIN(DECODE(TO_CHAR(DATES,'D'),4,TO_CHAR(DATES,'DD'))) 수
,MIN(DECODE(TO_CHAR(DATES,'D'),5,TO_CHAR(DATES,'DD'))) 목
,MIN(DECODE(TO_CHAR(DATES,'D'),6,TO_CHAR(DATES,'DD'))) 금
,MIN(DECODE(TO_CHAR(DATES,'D'),7,TO_CHAR(DATES,'DD'))) 토
FROM(
SELECT (MAKE_DATES + LEVEL - 1) DATES --달력 하위 일수 구하기
FROM(
SELECT (TO_DATE('200701','YYYYMM')) MAKE_DATES FROM DUAL --기준달력 생성
)
CONNECT BY (MAKE_DATES+LEVEL-1) <= LAST_DAY(MAKE_DATES) --마지막일자
)
GROUP BY DECODE(TO_CHAR(DATES,'D'),1, TO_CHAR(DATES,'W')+1,TO_CHAR(DATES,'W')) --합치기
ORDER BY DECODE(TO_CHAR(DATES,'D'),1, TO_CHAR(DATES,'W')+1,TO_CHAR(DATES,'W')); --주차 정렬
'-=-= 컴퓨터 =-=- > Database' 카테고리의 다른 글
오라클 인덱스 생성 및 테이블스페이스변경 (0) | 2012.05.09 |
---|---|
오라클 DBMS_output 사용 (0) | 2012.04.09 |
오라클 콘솔에서 화면 초기화 명령어 (0) | 2012.04.04 |
오라클 plan table 생성 및 권한부여 (0) | 2012.03.28 |
DB 프로시저, 트리거 소스 확인 (0) | 2012.03.26 |