음력 달력 만들기 0 5 2,962

by 고기브페 [SQL Query] [2017.11.01 16:48:51]


SELECT MAX(DECODE(D, 7,DAY)) SUN, MAX(DECODE(D, 1,DAY)) MON,  MAX(DECODE(D, 2,DAY)) TUE ,  MAX(DECODE(D, 3,DAY)) WED, MAX(DECODE(D, 4,DAY)) THU, MAX(DECODE(D, 5,DAY)) FIR, MAX(DECODE(D, 6,DAY)) SAT
FROM (
       SELECT LEVEL DAY, 
               TO_DATE(:YYYYMM||TRIM(TO_CHAR(LEVEL,'00'))) AS DT,
               TO_CHAR(TO_DATE(:YYYYMM||TRIM(TO_CHAR(LEVEL,'00'))) ,'D') AS D,
               DECODE(TO_CHAR(TO_DATE(:YYYYMM||TRIM(TO_CHAR(LEVEL,'00'))) ,'D'),
                      7,
                      CEIL( (LEVEL + 7  - TO_NUMBER(TO_CHAR(TO_DATE(:YYYYMM||TRIM(TO_CHAR(LEVEL,'00'))) ,'D'))) /7) + 1,
                      CEIL( (LEVEL + 7  - TO_NUMBER(TO_CHAR(TO_DATE(:YYYYMM||TRIM(TO_CHAR(LEVEL,'00'))) ,'D'))) /7) )AS W 
        FROM DUAL 
        CONNECT BY LEVEL <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE(:YYYYMM||'01')),'dd'))
     ) A
GROUP BY W
ORDER BY W

 

달력 쿼리 인데 양력이고요 이처럼 음력을 뽑아 보고 싶은데 방법이 없을까요?

이전에 음력 구하는 방법 게시물이 있었던것 같은데 찾지 못했네요 ㅠ

by 우리집아찌 [2017.11.01 17:04:44]

by 고기브페 [2017.11.01 17:15:31]

링크 주신 게시물은 음력을 양력 치환 하는 내용이라..

이거 보고 분석해서 공부 하라는 말씀이시군요 ㅠㅠ

알겠습니다~!


by 우리집아찌 [2017.11.01 17:20:20]

음력 바꾸기가 어려울겁니다.


by 마농 [2017.11.01 17:41:14]

양력 - 음력 날짜가 모두 들어 있는 달력 테이블을 만들어
필요한 연도 기간 만큼 데이터 미리 넣어 두고 사용하세요.
천문학 공부해서 함수 만드는 것보다 이게 빠를 것입니다.


by 고기브페 [2017.11.01 17:47:27]

두분 답변 감사 합니다~!

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