특정기간중 특정요일이 몇개인지 알 수 있나요? 0 4 4,137

by 문진균 [SQL Query] [2010.04.19 11:46:46]


오라클 10g를 사용하고 있습니다.

쿼리의 목적은 특정기간(ex : 201004)동안

해당요일이 몇개가 존재하는지 조회하려고 합니다.

dual테이블을 사용해서 가능한 방법이 있을까요?

도움 부탁드립니다.

by v상이v [2010.04.19 12:32:05]
SELECT TO_CHAR(TO_DATE('201004'||LPAD(LEVEL,2,0)),'DAY')
,COUNT(*)
FROM dual
CONNECT BY LEVEL < TRUNC(ADD_MONTHS(TO_DATE('201004','YYYYMM'),1), 'MM') - TRUNC(TO_DATE('201004','YYYYMM'), 'MM') + 1
GROUP BY TO_CHAR(TO_DATE('201004'||LPAD(LEVEL,2,0)),'DAY')
ORDER BY TO_CHAR(TO_DATE('201004'||LPAD(LEVEL,2,0)),'DAY')

by 마농 [2010.04.19 12:38:19]
-- ym : 특정월
-- d : 특정요일(1-일, 2-월, 3-화, 4-수, 5-목, 6-금, 7-토)
SELECT ym
, CEIL((LAST_DAY(TO_DATE(ym,'yyyymm')) - NEXT_DAY(TO_DATE(ym,'yyyymm')-1, d) + 1) / 7) d_cnt
FROM (SELECT '201004' ym, 5 d FROM dual)
;

by v상이v [2010.04.19 13:41:16]
문제가 특정기간중 특정요일...이군요...
이 덤벙댐을 어찌 할까요....-ㅅㅜ;;;;;

by 문진균 [2010.04.19 16:45:36]
^^ 아니에요..
두분 답변 큰 힌트가 되었네요

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