YEARWEEK(date, [mode])
YEARWEEK() 함수는 매개변수로 입력된 날짜가 속한 주차를 반환합니다. WEEK() 함수와는 달리 YEARWEEK() 함수는 연도와 주차를 함께 반환합니다. 두 번째 매개변수인 mode 값을 명시하면 주차 계산 방식은 WEEK() 함수와 동일합니다.
코드 6-36
SELECT YEARWEEK('2021-01-03') NOMODE,
YEARWEEK('2021-01-03', 0) MODE0,
YEARWEEK('2021-01-03', 1) MODE1,
YEARWEEK('2021-01-03', 2) MODE2,
YEARWEEK('2021-01-03', 3) MODE3,
YEARWEEK('2021-01-03', 4) MODE4,
YEARWEEK('2021-01-03', 5) MODE5,
YEARWEEK('2021-01-03', 6) MODE6,
YEARWEEK('2021-01-03', 7) MODE7;
실행결과
결과를 보면 YEARWEEK() 함수는 연도와 주차를 동시에 반환함을 알 수 있습니다. 여기서 mode 값이 1일 때와 5일 때 결과가 WEEK() 함수와는 다릅니다. WEEK() 함수는 모두 0주차를 반환하지만, YEARWEEK() 함수는 0주차를 반환하지 않고 각각 전년 마지막 주차를 반환합니다.
날짜형 함수는 그 수도 많고 사용법도 복잡합니다. 같은 기능을 제공하는 함수도 여럿 있고요. 지금까지 소개한 함수 외에도 MySQL에서는 많은 날짜형 함수를 제공하는데, 여기서 소개한 함수만 알아 둬도 거의 모든 날짜 계산을 할 수 있습니다.
TIP
날짜형 함수 중에서 SYSDATE(), CURDATE(), NOW(), LAST_DAY(), YEAR(), MONTH(), WEEKOFYEAR(), WEEK(), DATE_ADD(), ADDDATE(), DATE_SUB(), SUBDATE() 함수가 자주 사용되니 꼭 알아두세요.