매년 1월 첫째주 월요일 부터 년 주차 구하기 0 12 5,181

by 도겸아빠 [SQL Query] [2016.05.11 15:51:11]


안녕하세요.

년 주차가 매년 1월 첫째주 월요일부터 1부터 시작하려면 어떻게 해야 하는지요?
금년 기준으로 1월 4일~10일을 1주차, 11일~17일을 2주차 이런식으로 보는 거죠…52주까지 나오겠네요.

2017년은 1월 2일부터 1주

2018년은 1월 1일부터 1주

2019년은 1월 7일부터 1주

미리 감사드립니다.^^

by jkson [2016.05.11 16:24:43]

SELECT TO_CHAR(SYSDATE, 'iw') FROM DUAL


by 도겸아빠 [2016.05.11 16:34:16]

죄송합니다.

제가 너무 어렵게 생각했습니다.

감사합니다.


by 마농 [2016.05.11 17:07:49]

iw 의 주 기준이 월요일부터 시작인 것은 맞는데요.
 - 1월1일이 월화수목 요일일 경우엔 1주차가 되고
 - 금토일 요일인 경우 전년도 마지막 주차가 됩니다.


질문하신 상황과는 맞지 않는 듯 하네요?
 - 2019년은 1월 7일 ==> 2주차


2017년은 1월 2일부터 1주차라고 한다면?
 - 2017년 1월 1일은 몇주차 인가요?
 - 0주차?
 - 전년도 마지막 주차?


by jkson [2016.05.11 17:17:07]

헛; iw가 그런 것이었군요. 월요일 기준으로 주를 카운트한다고 해서 첫번째 월요일부터인 줄 알았는데;;; 어쩌죠. 다시 이글 읽어주세요 작성자님 ㅠ


by 도겸아빠 [2016.05.11 17:21:13]

헐...

마농님 귀신이십니다...ㅠㅠ

그럼 어떻게 해야 정확하게 나올까요?

정말 어긋나네요..


by 도겸아빠 [2016.05.11 17:26:20]

2017년은 1월 2일부터 1주차라고 한다면?
 - 2017년 1월 1일은 몇주차 인가요?
 - 0주차?
 - 전년도 마지막 주차? --> 전년도 마지막 주차가 맞습니다.

 


by jkson [2016.05.11 17:28:51]

읽으셔서 다행이네요. iw가 첫번째 월요일부터 시작한다고 생각하고 있었습니다. 죄송합니다;


by 도겸아빠 [2016.05.11 17:35:26]

별말씀을 다하십니다.

틀렸으면 고치면 되죠^^

답변 주신것 만으로도 감사합니다.

주차는 너무 어려워요.

즐퇴하세요.


by jkson [2016.05.11 18:45:53]

답변 달고 퇴근하려고 했는데 머리가 안돌아가네요. 연초를 맞추면 연말이 이상해지는 것 같고..;

간단한 쿼리로 만들려고 했더니 뭐가 잘 안 되네요. 약속있어서 퇴근해야겠습니다. 죄송합니다.ㅠ


by 마농 [2016.05.11 19:15:50]
WITH t AS
(
-- 테스트용 샘플 --
SELECT TO_DATE('201801', 'yyyymm') + LEVEL - 2 dt 
  FROM dual
 CONNECT BY LEVEL <= 380
)
SELECT dt
     , TO_CHAR(dt, 'dy') dy
     , TO_CHAR(TRUNC(dt, 'iw'), 'yyyy') ||'-'||
       LPAD((TRUNC(dt, 'iw') - NEXT_DAY(TRUNC(TRUNC(dt, 'iw'), 'y') - 1, 2)) / 7 + 1, 2, '0')
       AS yyyy_iw
  FROM t
;

 


by jkson [2016.05.11 19:32:34]
WITH T AS (SELECT TO_DATE('2016-01-04', 'YYYY-MM-DD') DT FROM DUAL)
SELECT CASE
          WHEN DT < TRUNC(TRUNC(DT, 'yyyy') + 6, 'iw') THEN
             TRUNC((LAST_DAY(DT - 7) - TRUNC(TRUNC(LAST_DAY(DT - 7), 'yyyy') + 6, 'iw')) / 7) + 1
          ELSE
             TRUNC((DT - TRUNC(TRUNC(DT, 'yyyy') + 6, 'iw')) / 7) + 1
       END WEEK
  FROM T

마농님은 역시나 간단하시네요-0-;

 


by 도겸아빠 [2016.05.12 08:15:04]

와~

오라클 신들께서 모여 사시는 구루비네요.

어마어마하십니다.

두분 모두 감사합니다.

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