>  기사  >  데이터 베이스  >  MySQL에서 특정 주(월요일~일요일 또는 일요일~토요일)에 대한 레코드를 선택하는 방법은 무엇입니까?

MySQL에서 특정 주(월요일~일요일 또는 일요일~토요일)에 대한 레코드를 선택하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 21:40:02536검색

How to Select Records for a Specific Week in MySQL: Monday to Sunday or Sunday to Saturday?

MySQL: 일주일 동안의 레코드 선택

초기 문제:
테이블에서 레코드를 검색하는 방법 특정 주의 특정 날짜에 대해?

전통적인 알고리즘:

  1. 지정된 날짜의 요일을 결정합니다.
  2. 가장 가까운 월요일까지의 일수를 계산합니다.
  3. 해당 주의 월요일과 일요일의 날짜를 계산합니다.
  4. 계산된 날짜 범위 내의 레코드를 검색하는 쿼리를 실행합니다.

더 짧은 알고리즘(MySQL의 YEARWEEK() 함수 사용):

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)

설명:

  • YEARWEEK () 함수는 날짜와 주의 첫 번째 요일(월요일)을 지정하는 선택적 매개변수(이 경우 1)를 사용합니다.
  • 지정된 날짜(날짜)에 대한 YEARWEEK()를 YEARWEEK와 비교합니다. () 현재 날짜(CURDATE())에 대해 쿼리는 같은 주에 속한 레코드를 선택합니다.

추가 질문 해결:

사용자가 사용하는 제공된 쿼리는 월요일부터 일요일이 아닌 일요일부터 토요일까지의 주의 레코드를 선택합니다. 이를 수정하려면 다음과 같이 수정하면 됩니다.

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 3) = YEARWEEK(CURDATE(), 3)
  • 선택적 매개변수 3은 주의 첫 번째 요일을 일요일이 아닌 월요일로 지정합니다.

위 내용은 MySQL에서 특정 주(월요일~일요일 또는 일요일~토요일)에 대한 레코드를 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.