MySQL: 두 날짜 사이의 데이터 선택
MySQL에서 날짜/시간 필드로 작업할 때 날짜의 미묘한 차이를 인식하는 것이 중요합니다. 서식을 지정합니다. 아시다시피 시간을 고려하지 않고 '2011-12-06 10:45:36' 날짜 형식을 사용하면 특정 날짜 사이의 데이터를 검색하려고 할 때 예상치 못한 결과가 발생할 수 있습니다.
Midnight Trap
MySQL의 날짜의 기본 단축 버전은 00:00:00을 하루의 시작으로 해석합니다. 즉, 귀하의 검색어는
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
실질적으로 다음과 같습니다.
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01 00:00:00' AND created_at <= '2011-12-06 00:00:00'
결과적으로 귀하가 기대했던 항목은 '2011-12-06 10:45:36'입니다. 은(는) 시간 구성 요소가 지정된 범위를 벗어났기 때문에 제외되었습니다.
Elegant Solutions
이 문제를 해결하려면 다음과 같은 몇 가지 옵션이 있습니다.
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
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 데이터를 올바르게 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!