MySQL 날짜 및 DATETIME 비교
날짜와 유사한 문자열을 비교하면 DATETIME으로 저장된 필드를 처리할 때 문제가 발생합니다. startTime이 DATETIME 필드인 데이터베이스 테이블 달력을 생각해 보세요. "2010-04-29"와 같은 날짜 문자열을 기반으로 행을 선택하려면 DATETIME 값을 적절히 일치시키도록 주의 깊게 처리해야 합니다.
해결책:
원하는 비교를 수행하려면 DATE() 함수를 활용하세요.
SELECT * FROM `calendar` WHERE DATE(startTime) = '2010-04-29'
DATE() 함수는 DATETIME 값에서 날짜 구성 요소를 추출하여 시간 정보를 효과적으로 제거합니다. 이렇게 하면 정의한 날짜 문자열("2010-04-29")을 startTime DATETIME 필드에서 추출된 날짜와 직접 비교할 수 있습니다.
성능 최적화:
DATE() 함수는 큰 테이블에 대한 대체 접근 방식보다 더 효율적일 수 있습니다. 예를 들어, STRCMP를 사용하는 SALIL 솔루션은 2백만 행 테이블에 대해 4.48초가 걸린 반면 DATE() 접근 방식은 단 2.25초 만에 완료되었습니다. 이러한 시나리오에서 최적의 성능을 얻으려면 DATE() 함수를 고려하십시오.
위 내용은 MySQL DATETIME 필드와 날짜를 효율적으로 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!