구간별 날짜 가져오기

+ DB / SQL 2009/06/23 22:19

1. 기간 가져오기
 SELECT TO_CHAR(TO_DATE('20090601','YYYYMMDD')+LEVEL -1,'YYYYMMDD') AS YYYYMMDD
   FROM DUAL
CONNECT BY TO_DATE('20090601','YYYYMMDD')+LEVEL -1 <= LAST_DAY(TO_DATE('20090630','YYYYMMDD'));


2. 기간 가져오기 (주, 요일 포함)
SELECT ROWNUM NO, B.MM || B.DD YYYYMMDD,
       CEIL((ROWNUM+7-TO_NUMBER(TO_CHAR(TO_DATE(B.MM||B.DD,'yyyymmdd'),'d')))/7) WEEK,
       TO_CHAR (TO_DATE (B.MM || B.DD, 'yyyymmdd'), 'd') DAY
  FROM (SELECT SUBSTR('200906',1,6) MM, LPAD (ROWNUM, 2, '0') DD FROM DICT WHERE ROWNUM <= 31) B
 WHERE TO_CHAR (LAST_DAY (TO_DATE (B.MM || '01', 'yyyymmdd')), 'dd') >= B.DD;

'+ DB / SQL' 카테고리의 다른 글

구간별 날짜 가져오기  (0) 2009/06/23
재귀 호출 쿼리  (0) 2009/05/21
Lock 확인 Query  (0) 2005/05/13
Trackbacks 0 : Comments 0
◀ PREV : [1] : [2] : [3] : [4] : [5] : ... [111] : NEXT ▶