집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서만 오늘의 타임스탬프가 있는 행을 검색하는 방법은 무엇입니까?
오늘만 타임스탬프가 있는 행을 선택하는 방법
관계형 데이터베이스에서 특정 타임스탬프가 있는 행을 선택하는 것은 데이터 분석 및 보고. 일반적인 시나리오는 시간 구성 요소를 제외하고 현재 날짜의 레코드를 검색하는 것입니다.
현재 접근 방식 및 제한 사항
제공된 쿼리인 SELECT * FROM table WHERE (타임스탬프 > DATE_SUB(now(), INTERVAL 1 DAY));, 지난 24시간 내의 결과를 검색합니다. 이는 전날의 모든 타임스탬프를 포함하는 DATE_SUB을 사용하여 현재 시간에서 하루를 빼기 때문입니다.
정밀도를 위해 DATE 및 CURDATE() 사용
시간 구성 요소를 무시하고 날짜만을 기준으로 결과를 선택하면 다음 쿼리가 가능합니다. 사용:
SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE();
여기서 DATE()는 타임스탬프의 날짜 부분만 추출하고 CURDATE()는 현재 날짜를 반환합니다. 이러한 값을 비교함으로써 쿼리는 오늘이 아닌 타임스탬프를 효과적으로 필터링합니다.
효율적인 인덱스 사용
위 쿼리는 인덱스를 활용하지 않을 수 있다는 점에 유의하는 것이 중요합니다. 효율적으로. 대신 다음 대체 쿼리를 사용해 보세요.
SELECT * FROM `table` WHERE `timestamp` >= DATE(NOW()) AND `timestamp` < DATE(NOW()) + INTERVAL 1 DAY;
이 쿼리는 SQL의 일반적인 최적화 기술인 타임스탬프 열의 인덱스를 활용합니다.
위 내용은 SQL에서만 오늘의 타임스탬프가 있는 행을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!