Background Image
조회 수 5546 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

-- 입력된 월 기준

SELECT

        ADDDATE(A.SETMONTH, LEVEL -1) AS DT,

        TO_CHAR(ADDDATE(A.SETMONTH, LEVEL -1), 'DAY') AS SW,

        CONCAT(DENSE_RANK() OVER(ORDER BY TRUNC(ADDDATE(A.SETMONTH, LEVEL -1), 'DAY')), ' 주차') AS MBWK

FROM (

        SELECT

                TO_DATE('201601','YYYYMM') AS SETMONTH

) A

CONNECT BY LEVEL <= EXTRACT(DAY FROM LAST_DAY(A.SETMONTH))


결과>


2016-01-01 금요일       1 주차

2016-01-02 토요일       1 주차

2016-01-03 일요일       2 주차

2016-01-04 월요일       2 주차

2016-01-05 화요일       2 주차

2016-01-06 수요일       2 주차

2016-01-07 목요일       2 주차

2016-01-08 금요일       2 주차

2016-01-09 토요일       2 주차

2016-01-10 일요일       3 주차

2016-01-11 월요일       3 주차

2016-01-12 화요일       3 주차

2016-01-13 수요일       3 주차

2016-01-14 목요일       3 주차

2016-01-15 금요일       3 주차

2016-01-16 토요일       3 주차

2016-01-17 일요일       4 주차

2016-01-18 월요일       4 주차

2016-01-19 화요일       4 주차

2016-01-20 수요일       4 주차

2016-01-21 목요일       4 주차

2016-01-22 금요일       4 주차

2016-01-23 토요일       4 주차

2016-01-24 일요일       5 주차

2016-01-25 월요일       5 주차

2016-01-26 화요일       5 주차

2016-01-27 수요일       5 주차

2016-01-28 목요일       5 주차

2016-01-29 금요일       5 주차

2016-01-30 토요일       5 주차

2016-01-31 일요일       6 주차


-- 입력된 두개의 날짜 기준

SELECT

        ADDDATE(A.ST_DAY, LEVEL - 1) AS DT,

        TO_CHAR(ADDDATE(A.ST_DAY, LEVEL - 1), 'DAY') AS SW,

        CONCAT(TO_CHAR(ADDDATE(A.ST_DAY, LEVEL - 1), 'YYYY'), ' ', TO_CHAR(ADDDATE(A.ST_DAY, LEVEL - 1), 'MM'), ' ', DENSE_RANK() OVER(PARTITION BY MONTH(ADDDATE(A.ST_DAY, LEVEL - 1)) ORDER BY TRUNC(ADDDATE(A.ST_DAY, LEVEL - 1), 'DAY')), ' 주차') AS MBWK

FROM (

        SELECT

                TO_DATE('2016-08-01') AS ST_DAY,

                TO_DATE('2016-08-09') AS ED_DAY

) A

CONNECT BY

        LEVEL <= DATEDIFF(ED_DAY, ST_DAY)


결과>


2016-08-01 월요일       2016년 08월 1 주차

2016-08-02 화요일       2016년 08월 1 주차

2016-08-03 수요일       2016년 08월 1 주차

2016-08-04 목요일       2016년 08월 1 주차

2016-08-05 금요일       2016년 08월 1 주차

2016-08-06 토요일       2016년 08월 1 주차

2016-08-07 일요일       2016년 08월 2 주차

2016-08-08 월요일       2016년 08월 2 주차



  • ?
    성진 2016.08.10 03:15

     입력된 두개의 날짜 기준에는 버그가 있네요;; (동일 월에만 가능합니다.)


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
74 질의작성 synonym에 대하여 김민종 2023.09.07 229
73 질의작성 VALUES 절 활용하기 황영진 2020.05.13 795
72 질의작성 여러개의 컬럼을 하나로 묶어주는 함수 CONCAT_WS 사용방법 엄기호 2019.01.29 7105
71 질의작성 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기 성진 2018.04.10 1089
70 질의작성 JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자. file 성진 2017.10.10 1304
69 질의작성 테이블 명세서 쿼리 1 성진 2017.08.04 3137
68 질의작성 loose index scan을 활용한 효과적인 쿼리 튜닝 방안 박세훈 2017.06.01 2382
67 질의작성 CONNECT BY 절 포함 질의 튜닝 예제 박세훈 2017.02.28 9692
66 질의작성 UPDATE에서 조인을 통해, 결과값 수정하는 방법 박동윤 2016.12.27 7140
65 질의작성 subquery를 이용한 튜닝예제 file 김창휘 2016.12.27 3306
» 질의작성 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기 1 성진 2016.08.10 5546
63 질의작성 INSTR함수 사용하기 엄기호 2016.06.29 9224
62 질의작성 group_concat(문자열 그룹처리) 함수 사용하기 권호일 2016.06.29 28119
61 질의작성 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기 권호일 2016.05.18 6344
60 질의작성 ORACLE 테이블 및 컬럼 COMMENT 일광등록 스크립트 1 김창휘 2016.04.04 9314
59 질의작성 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인 성진 2016.03.21 4167
58 질의작성 Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기 김창휘 2016.03.21 4625
57 질의작성 테이블 리스트 취합 SQL 김창휘 2016.03.19 5510
56 질의작성 테이블 컬럼 변경 및 추가 정만영 2016.02.29 21696
55 질의작성 FOR UPDATE 정만영 2016.01.27 5983
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales