아이티/oracle&DB
달력생성쿼리의 새버전을 공개합니다.
하얀첫눈.
2009. 2. 13. 13:11
제 홈페이지와 아래 사이트들에서 포스팅 해놓은 내용을 확인하실 수 있습니다.
http://www.soqool.com/servlet/board?cmd=view&cat=100&subcat=1010&seq=69#3398
http://www.orafaq.com/forum/t/94953/78939/
http://www.orafaq.com/node/2029
쏘쿨 - www.soqool.com
with t as (
select to_date('200902','yyyymm') ym from dual)
SELECT * FROM (
SELECT MIN (DECODE (TO_CHAR (YM + LEVEL - 1, 'd'), '1', LEVEL)) SUN
, MIN (DECODE (TO_CHAR (YM + LEVEL - 1, 'd'), '2', LEVEL)) MON
, MIN (DECODE (TO_CHAR (YM + LEVEL - 1, 'd'), '3', LEVEL)) TUE
, MIN (DECODE (TO_CHAR (YM + LEVEL - 1, 'd'), '4', LEVEL)) WED
, MIN (DECODE (TO_CHAR (YM + LEVEL - 1, 'd'), '5', LEVEL)) THU
, MIN (DECODE (TO_CHAR (YM + LEVEL - 1, 'd'), '6', LEVEL)) FRI
, MIN (DECODE (TO_CHAR (YM + LEVEL - 1, 'd'), '7', LEVEL)) SAT
FROM T
CONNECT BY LEVEL <= LAST_DAY (YM) - YM + 1
GROUP BY TRUNC (YM + LEVEL, 'iw')
ORDER BY 7)
--정말 깔끔하군 -_-* 훗 언젠가 써먹겠지.. 분석은 귀찮아서 패스~
반응형