>데이터 베이스 >MySQL 튜토리얼 >SQL에서만 오늘의 타임스탬프가 있는 행을 검색하는 방법은 무엇입니까?

SQL에서만 오늘의 타임스탬프가 있는 행을 검색하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-03 05:01:13498검색

How to Retrieve Rows with Timestamps from Today Only in 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.