MySQL에서 이번 주의 레코드를 선택적으로 검색하는 방법
MySQL 데이터베이스에서 이번 주의 레코드를 얻으려면 YEARWEEK() 함수입니다. 이 접근 방식을 사용하면 여러 SQL 문을 실행할 필요성이 줄어듭니다.
YEARWEEK()를 활용하면 첫 번째 매개 변수를 날짜 열(귀하의 경우 날짜)로 지정하고 두 번째 매개 변수를 1로 설정할 수 있습니다. 주는 월요일부터 시작됩니다. 결과를 YEARWEEK(CURDATE(), 1)과 비교하면 현재 월요일부터 일요일까지 범위 내의 레코드를 효과적으로 검색할 수 있습니다.
쿼리 문제 해결
제공된 쿼리는 2013년 11월 18일(월요일)부터 2013년 11월 24일(일요일) 대신 2013년 11월 17일(일요일)부터 2013년 11월 23일(토요일) 범위의 레코드를 선택합니다. 이러한 불일치는 데이터베이스가 기본적으로 일요일부터 주를 초기화하여 사실상 일요일부터 토요일까지의 주 범위가 되기 때문입니다.
이 문제를 해결하려면 YEARWEEK()의 두 번째 매개변수를 수동으로 1로 설정해야 합니다. 또는 다음 수정된 쿼리에 설명된 대로 WEEK() 함수를 사용하여 주의 시작일이 월요일이 되도록 명시적으로 표시합니다.
<code class="sql">SELECT * FROM your_table WHERE YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>
또는 WEEK() 함수를 사용하여 명시적으로 주 시작을 설정할 수 있습니다. 월요일부터 월요일까지:
<code class="sql">SELECT * FROM your_table WHERE WEEK(`date`, 1) = WEEK(CURDATE(), 1)</code>
위 내용은 다음은 질문 측면에 초점을 맞춘 몇 가지 제목 옵션입니다. * MySQL에서 이번 주에 대한 레코드를 검색하는 방법(월요일부터)? * MySQL 쿼리: 잘못된 Wee에 대한 기록을 얻는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!