MySQL에서 두 날짜 사이의 데이터 검색
MySQL에서 날짜/시간 값을 처리할 때 간단한 날짜 형식의 자정 기본값을 고려해야 합니다. . 이는 날짜 범위 내의 데이터를 쿼리할 때 예상치 못한 결과가 발생할 수 있습니다.
예를 들어,created_at 열이 '2011-12-01'과 '2011-12-06' 사이에 있는 레코드를 선택하려는 경우, ' 다음 쿼리를 사용하면
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
원하는 결과가 반환되지 않을 수 있습니다. 이는 짧은 날짜 형식이 암시적으로 시간을 자정으로 해석하기 때문입니다.
이 문제를 해결하려면 '2011-12-07'을 상한으로 사용하도록 쿼리를 조정하세요.
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
또는 MySQL의 date_add() 함수나 BETWEEN 연산자를 사용하여 동일한 결과를 얻을 수 있습니다. 결과:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
SELECT `users`.* FROM `users` WHERE created_at BETWEEN '2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY)
짧은 날짜 형식의 기본 자정 해석을 고려하면 MySQL에서 지정된 날짜 범위 내의 데이터를 정확하게 검색할 수 있습니다.
위 내용은 특정 날짜 범위 내에서 MySQL 데이터를 올바르게 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!