일년 중 토요일과 일요일의 날짜를 알아내고 싶습니다. 참고할만한 휴무정보 같은 테이블은 없구요. DB2를 처음 쓰는데다 자료도 많이 없어 혼자 머리를 쥐어뜯다가 질문을 올립니다. 답변 부탁드릴께요~ 감사합니다.
SELECT DATE(N_DAY) DT ,DAYOFWEEK(DATE(N_DAY)) WK FROM ( SELECT DAYS(DATE('2007' || '-01-01')) + DG_1 + DG_2 + DG_3 N_DAY FROM (SELECT 0 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 1 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 2 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 3 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 4 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 5 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 6 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 7 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 8 DG_1 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 9 DG_1 FROM SYSIBM.SYSDUMMY1) D1 ,(SELECT 0 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 10 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 20 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 30 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 40 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 50 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 60 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 70 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 80 DG_2 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 90 DG_2 FROM SYSIBM.SYSDUMMY1) D2 ,(SELECT 0 DG_3 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 100 DG_3 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 200 DG_3 FROM SYSIBM.SYSDUMMY1 UNION ALL SELECT 300 DG_3 FROM SYSIBM.SYSDUMMY1) D3 ) SEQ_0_399 WHERE N_DAY <= DAYS(DATE('2007' || '-12-31')) AND DAYOFWEEK(DATE(N_DAY)) IN (1,7) ORDER BY DT or UDB(WIN,UNIX) 에서는 SELECT DATE(N_DAY) DT ,DAYOFWEEK(DATE(N_DAY)) WK FROM ( SELECT DAYS(DATE('2007' || '-01-01')) + DG_1 + DG_2 + DG_3 N_DAY FROM TABLE (VALUES 0,1,2,3,4,5,6,7,8,9) T1 (DG_1) ,TABLE (VALUES 0,10,20,30,40,50,60,70,80,90) T2 (DG_2) ,TABLE (VALUES 0,100,200,300) T3 (DG_3) ) SEQ_0_399 WHERE N_DAY <= DAYS(DATE('2007' || '-12-31')) AND DAYOFWEEK(DATE(N_DAY)) IN (1,7) ORDER BY DT
이렇게 하면 되는군요. 아직 쿼리가 다 이해되지는 않지만(^^;) 원하는 결과가 나와 기쁩니다. 고맙습니다. 꾸벅