역시 말로 설명하면 어려우니 예제로 WEEK() 함수의 작동 방식을 알아보죠.
코드 6-35
SELECT WEEK('2021-01-03', 0) MODE0,
WEEK('2021-01-03', 1) MODE1,
WEEK('2021-01-03', 2) MODE2,
WEEK('2021-01-03', 3) MODE3,
WEEK('2021-01-03', 4) MODE4,
WEEK('2021-01-03', 5) MODE5,
WEEK('2021-01-03', 6) MODE6,
WEEK('2021-01-03', 7) MODE7;
실행결과
첫 번째 매개변수로 모두 2021년 1월 3일(일요일)을, mode 값으로는 0에서 7까지 차례대로 입력해 WEEK() 함수를 8번 호출합니다. 참고로 2021년 1월 1일은 금요일입니다. 각 함수의 반환값을 살펴보죠.
• WEEK('2021-01-03', 0) 1월 1일의 주차에 일요일 미포함, 일요일이 주의 시작일, 반환값 범위가 0부터 시작하므로 1월 1일은 0주차, 1월 3일은 1주차
• WEEK('2021-01-03', 1) 1월 1일의 주차에 4일 이상 미포함, 월요일이 주의 시작일, 반환값 범위가 0부터 시작하므로 1월 1일은 0주차, 일요일인 1월 3일도 0주차
• WEEK('2021-01-03', 2) 1월 1일의 주차에 일요일 미포함, 일요일이 주의 시작일, 반환값 범위가 1부터 시작하므로 1월 1일은 2020년 마지막 주차(52주차), 일요일인 1월 3일은 1주차