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

2023년 4월 25일
조회수 81
코멘트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