[답변]날짜 구하기 0 1 2,399

by 김영현 [2005.12.13 18:10:23]


SELECT
    T1.YYYYMM,
    T1.DD,
    TO_CHAR(TO_DATE(T1.YYYYMM||T1.DD,'YYYYMMDD'),'D') WEEK
 FROM
  (
   SELECT
      TO_CHAR(TO_DATE(C2.PRE0101,'YYYYMMDD') + (ROWNUM-1),'YYYYMM') YYYYMM,
      TO_CHAR(TO_DATE(C2.PRE0101,'YYYYMMDD') + (ROWNUM-1),'DD') DD
   FROM
      INT_TMP_NUMBER C1,
      (
       SELECT
        TO_CHAR(SYSDATE,'YYYY')-1||'0101' PRE0101,
        TO_CHAR(SYSDATE,'YYYY')-1||'1231' PRE1231,
        TO_CHAR(SYSDATE,'YYYY')||'1231' THIS1231
       FROM
        DUAL
      ) C2
   WHERE
      SEQ BETWEEN 1 AND TO_CHAR(TO_DATE(C2.PRE1231,'YYYYMMDD'),'DDD') + TO_CHAR(TO_DATE(C2.THIS1231,'YYYYMMDD'),'DDD')
  ) T1
 WHERE
   T1.YYYYMM >= TO_CHAR(ADD_MONTHS(SYSDATE,-2),'YYYYMM')
   AND T1.YYYYMM <= TO_CHAR(SYSDATE,'YYYYMM')
by 김영현 [2005.12.13 00:00:00]
중간에 테이블이 하나 있는데 INT_TMP_NUMBER <--
1~1000정도까지 NUMBER타입으로 만드시거나 아니면 ROWNUM으로 1~1000까지 만드시면 됩니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입