MySQL에서 오늘이 몇번째 주인지 확인하는 방법(주차 구하기)

2023년 4월 25일
조회수 7
코멘트0

목차

올해 몇번째 주인지 확인 하는 방법

MySQL에서 오늘이 올해 몇번째 주인지 확인하는 방법은 다음과 같습니다.

SELECT WEEK(CURRENT_DATE);

위 쿼리는 현재 날짜를 기준으로 올해의 몇 번째 주인지 구하는 방법입니다. WEEK() 함수를 사용하여 현재 날짜가 올해의 몇 번째 주에 속하는지 구할 수 있습니다.

예를 들어, 현재 날짜가 2023년 4월 25일인 경우에는 다음과 같이 출력됩니다.

 

+---------------+
| week_of_month |
+---------------+
|            17 |
+---------------+

 

이번달 몇번째 주인지 확인 하는 방법

MySQL에서 오늘이 이번 올해 몇번째 주인지 확인하는 방법은 다음과 같습니다.

SELECT WEEK(CURRENT_DATE, 2) - WEEK(DATE_SUB(CURRENT_DATE, INTERVAL DAYOFMONTH(CURRENT_DATE) - 1 DAY), 2) + 1 AS week_of_month;

위 쿼리는 현재 날짜를 기준으로 이번달의 몇 번째 주인지 구하는 방법입니다. WEEK() 함수를 사용하여 현재 날짜의 주차를 구하고, DATE_SUB() 함수를 사용하여 현재 날짜에서 이번달의 1일을 뺀 날짜를 구합니다. 그리고 다시 WEEK() 함수를 사용하여 이번달의 1일이 속한 주차를 구합니다. 이 두 주차를 빼면 현재 날짜가 이번달의 몇 번째 주에 속하는지 구할 수 있습니다.

예를 들어, 현재 날짜가 2023년 4월 25일인 경우에는 다음과 같이 출력됩니다.

 

+---------------+
| week_of_month |
+---------------+
|             4 |
+---------------+

 

MySQL WEEK 함수 설명

MySQL의 WEEK() 함수는 주차 정보를 계산하는 함수입니다. 일반적으로 WEEK() 함수는 연도의 주차를 계산하지만, 인수를 지정하여 다양한 방식으로 주차를 계산할 수 있습니다.

WEEK() 함수의 기본 구문은 다음과 같습니다.

 

이때 date는 날짜 또는 날짜/시간 값입니다. WEEK() 함수는 date 값의 주차를 반환합니다. 반환값은 0부터 시작하는 숫자입니다. 예를 들어, WEEK('2023-04-25')17을 반환합니다.

WEEK() 함수의 두 번째 인수로 옵션을 지정할 수 있습니다. 다음과 같은 옵션이 있습니다.

WEEK(date)
  • 0 또는 7: 주의 시작을 일요일로 설정합니다. 반환값은 0부터 시작합니다.
  • 1: 주의 시작을 월요일로 설정합니다. 반환값은 0부터 시작합니다.
  • 2: 주의 시작을 일요일로 설정합니다. 반환값은 1부터 시작합니다.
  • 3: 주의 시작을 월요일로 설정합니다. 반환값은 1부터 시작합니다.
  • 4: 주의 시작을 일요일로 설정합니다. 반환값은 1부터 시작하며, 첫 번째 주의 길이가 4일 미만인 경우 전년도의 마지막 주로 묶입니다.
  • 5: 주의 시작을 월요일로 설정합니다. 반환값은 1부터 시작하며, 첫 번째 주의 길이가 4일 미만인 경우 전년도의 마지막 주로 묶입니다.
  • 6: 주의 시작을 일요일로 설정합니다. 반환값은 0부터 시작하며, 첫 번째 주의 길이가 3일 미만인 경우 전년도의 마지막 주로 묶입니다.
  • 7: 주의 시작을 월요일로 설정합니다. 반환값은 0부터 시작하며, 첫 번째 주의 길이가 3일 미만인 경우 전년도의 마지막 주로 묶입니다.

예를 들어, WEEK('2023-04-25', 2)17을 반환합니다. 이는 2023년 4월 25일이 일요일이므로, 일요일부터 시작하는 주차를 계산하면 17주차가 됩니다.

댓글 0