partial 주차를 구할 수 있을가요? 0 4 2,636

by 송민구 [Oracle 기초] 주차 [2012.03.13 13:55:20]


안녕하세요 초보 개발자입니다.

date에 대해서 주차를 구하는것은 'iw'를 이용 할 수 있습니다(월요일기준주차)

그런데 partial 주차를 구할 수 있는것도 있을까 해서 문의드립니다.

partial주차라는것은 한 주차가 두달에 걸쳐 있을경우 앞달은 주차에 A를 붙이고 뒷달주차에 B를 붙입니다.
(예. 2012년 2월 27~29일은 09A주차 3월1~4일은 09B주차)

혹시 경험해 보셨거나 알고 계시면 부탁드립니다 ^^

by 손님 [2012.03.13 17:46:25]

format 'w' 를 하나 더 준 후에 조금만 가공하시면 나오겠네요.
해보시면 무슨 의미인지 아실 듯...


by 송민구 [2012.03.13 17:55:08]
흠.. 어렵네요...
'w'는 해당월 1일자 요일을 기준으로 월의주차를 표시하는건데 말입니다..
올해 3월은 1~7일이 1주차이고, 8~14일이 2주차....이런식으로..
이거랑 'iw'랑 어떻게 연결을 시킬까요? 어렵네요 ^^;;
조금더 힌트 부탁드립니다~

by 마농 [2012.03.13 18:06:11]
WITH t AS
(
SELECT TO_DATE('201201', 'yyyymm') + LEVEL - 1 dt
  FROM dual
 CONNECT BY LEVEL <= 366
)
SELECT dt
     , TO_CHAR(dt, 'iw')
     , CASE WHEN TO_CHAR(TRUNC(dt, 'iw'), 'mm') != TO_CHAR(TRUNC(dt, 'iw') + 6, 'mm')
            THEN DECODE(TO_CHAR(TRUNC(dt, 'iw'), 'mm'), TO_CHAR(dt, 'mm'), 'A', 'B')
        END flag
  FROM t
;

by 송민구 [2012.03.13 18:11:19]
아..마농님 감사합니다 ㅎㅎ
저도 월로 비교해야겠다고 생각하려는 찰라에 ㅎㅎ
역시 겡장하십니다요~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입