코드
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 (
SELECT TO_DATE(TO_CHAR(SYSDATE, 'YYYYMM'), 'YYYYMM') YM FROM DUAL
)
CONNECT BY LEVEL <= LAST_DAY (YM) - YM + 1
GROUP BY TRUNC (YM + LEVEL, 'iw')
ORDER BY 7
)
;
참고 사이트 : www.gurubee.net/lecture/2863
[퀴즈] 달력만들기
이번 퀴즈로 배워보는 SQL 시간에는 주어진 연월에 해당하는 달력을 만들어 보는 문제를 풀어본다. 진정으로 자신의 SQL 실력을 키우고 싶다면 스스..
www.gurubee.net
'Oracle' 카테고리의 다른 글
DECODE와 CASE의 차이 (0) | 2021.02.18 |
---|---|
Oracle에서 GROUP BY절의 자동정렬에 대해서 (0) | 2021.02.18 |
Oracle에서 '(홑따옴표)와 "(쌍따옴표)의 차이 (0) | 2021.02.16 |
댓글