MySQL에서 한 주의 첫날 가져오기
데이터베이스에서 시간 데이터를 처리할 때 특정 날짜의 첫 번째 날을 결정해야 하는 경우가 많습니다. 주. 이는 데이터를 그룹화하고 시간 경과에 따른 추세를 분석하는 데 특히 유용합니다.
문제 설명
사용자가 데이터를 주별로 그룹화하는 쿼리를 가지고 있지만 첫 번째 항목을 표시하려고 합니다. 다른 날짜 대신 매주 요일. 날짜(2011-01-03)를 식별했으며 해당 주의 첫 번째 요일(2011-01-02)을 검색해야 합니다.
일요일에 시작하는 주
주가 일요일에 시작하는 경우 다음 MySQL 표현식을 사용할 수 있습니다.
DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)
이 표현식 주어진 날짜에서 현재 요일(1 기준)을 뺀 후 1일을 더하여 한 주의 첫날을 계산합니다.
월요일로 시작하는 주
주가 월요일에 시작하는 경우 다른 표현이 필요합니다.
DATE_ADD(mydate, INTERVAL(-WEEKDAY(mydate)) DAY);
이 경우 현재 요일 (0부터 시작)을 주어진 날짜에서 빼서 월요일에 도달하기까지의 일수를 결정합니다.
사용 예
다음과 같은 날짜가 있다고 가정합니다. , 이는 2011-01-03을 나타냅니다.
'2011-01-03'
한 주가 일요일에 시작한다고 가정하면 첫 번째 표현식을 사용하여 주의 첫 번째 날을 찾을 수 있습니다:
SELECT DATE_ADD('2011-01-03', INTERVAL(1-DAYOFWEEK('2011-01-03')) DAY);
이 결과는 다음과 같습니다.
2011-01-02
예상대로 1일부터 시작되는 주의 첫 번째 날은 일요일은 2011-01-02입니다.
위 내용은 MySQL에서 한 주의 첫날을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!