Select TO_DATE('20110101','YYYYMMDD')+(LEVEL - 1) YMD, ROWNUM WEEKDAY, LEVEL DAYS
From dual
Where TO_CHAR(TO_DATE('20110101','YYYYMMDD')+(LEVEL - 1), 'D') = '2'
Connect By TO_DATE('20110101','YYYYMMDD')+(LEVEL - 1) <= TO_DATE('20111231','YYYYMMDD')
Order By LEVEL

 

Posted by sangheum
TAG SQL, 이포넷

댓글을 달아 주세요

SQL로 기준일로부터 연속되는 일자를 가져올 때 유용하게 사용할 수 있는 간단한 쿼리...

아래 쿼리를 통으로 FROM절로 쓰세요.

 

Select TO_CHAR(TO_DATE('20110101', 'YYYYMMDD') + no - 1, 'YYYYMMDD') YMD   
From
(
     Select LEVEL As no From dual  
     Connect By LEVEL <= TO_DATE('20111231', 'YYYYMMDD') - TO_DATE('20110101', 'YYYYMMDD') + 1
)


 - 해당월의 전체일자 가져오기

Select TO_DATE('201102' || '01','YYYYMMDD') + (LEVEL - 1) ymd, LEVEL days

From dual

Connect By TO_DATE('201102' || '01','YYYYMMDD') + (LEVEL - 1) <= ADD_MONTHS(TO_DATE('201102' || '01','YYYYMMDD'),  1) - 1

Order By LEVEL


 

그리고 여러분이 알고 계시는 노하우 많이 등록해 주세요.
(정기적으로 우수 등록자 포상이 있을거라는 소문이 ...)

 

Posted by sangheum
TAG SQL, 쿼리

댓글을 달아 주세요