날짜로만 가상테이블을 만들 수 있나요? 0 4 875

by 뽀꼼여사 [Oracle 기초] [2017.09.01 14:03:32]


select *

from dual

처럼 가상테이블을 만들려고 하는데요,

달력에 있는 날짜를 yyyymmdd 또는 yyyy/mm/dd 형태로 가지고 있는 테이블을 임의로 만들려고 하는데

어떻게 해야할지 모르겠어여ㅠ

 

오늘날짜 가져오는 쿼리는 아래처럼 썼는데, 언제부터 언제까지의  날짜만 가지고 있게 만들려고 하니깐 막혔어여ㅠ

(기간에 대한 범위는 자동으로 가져가고 싶어요~ 3개월전? 1년전? 그런식으로 기간을 유동으로 가져가고 싶습니다.)

SELECT TO_CHAR(SYSDATE,'yyyymmdd')
FROM DUAL

by 우리집아찌 [2017.09.01 14:39:50]
WITH DATE_T AS (
   SELECT TO_DATE( :FRDT , 'YYYYMMDD' ) + LEVEL - 1  FROM DUAL
    CONNECT BY LEVEL <= TO_DATE(:TODT , 'YYYYMMDD') - TO_DATE(:FRDT, 'YYYYMMDD') + 1 
)

SELECT * FROM DATE_T 

 


by 뽀꼼여사 [2017.09.01 15:05:18]

감사합니다~!

 


by 마농 [2017.09.01 14:42:09]
SELECT TO_CHAR(sdt + LEVEL - 1, 'yyyymmdd') dt
  FROM (SELECT TO_DATE('20170101', 'yyyymmdd') sdt
             , TO_DATE('20170831', 'yyyymmdd') edt
          FROM dual
        )
 CONNECT BY LEVEL <= edt - sdt + 1
;

 


by 뽀꼼여사 [2017.09.01 15:05:24]

감사합니다~!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입