Heim >Datenbank >MySQL-Tutorial >Wie rufe ich Zeilen mit Zeitstempeln nur vom heutigen Tag in SQL ab?

Wie rufe ich Zeilen mit Zeitstempeln nur vom heutigen Tag in SQL ab?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 05:01:13498Durchsuche

How to Retrieve Rows with Timestamps from Today Only in SQL?

So wählen Sie Zeilen mit Zeitstempeln nur vom heutigen Tag aus

In einer relationalen Datenbank kann die Auswahl von Zeilen mit bestimmten Zeitstempeln für die Datenanalyse wichtig sein Berichterstattung. Ein häufiges Szenario besteht darin, Datensätze vom aktuellen Tag ohne Zeitkomponente abzurufen.

Der aktuelle Ansatz und seine Einschränkungen

Die bereitgestellte Abfrage SELECT * FROM table WHERE (Zeitstempel > DATE_SUB(now(), INTERVAL 1 DAY));, ruft Ergebnisse innerhalb der letzten 24 Stunden ab. Dies liegt daran, dass mithilfe von DATE_SUB ein Tag von der aktuellen Zeit subtrahiert wird, was alle Zeitstempel des vorherigen Tages umfasst.

Verwendung von DATE und CURDATE() für Präzision

Zu Wählen Sie Ergebnisse ausschließlich basierend auf dem Datum aus und ignorieren Sie die Zeitkomponente. Dies kann die folgende Abfrage sein verwendet:

SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE();

Hier extrahiert DATE() nur den Datumsteil des Zeitstempels und CURDATE() gibt das aktuelle Datum zurück. Durch den Vergleich dieser Werte filtert die Abfrage effektiv Zeitstempel heraus, die nicht von heute stammen.

Effiziente Indexnutzung

Es ist wichtig zu beachten, dass die obige Abfrage möglicherweise keine Indizes verwendet effizient. Erwägen Sie stattdessen die Verwendung dieser alternativen Abfrage:

SELECT * FROM `table` WHERE `timestamp` >= DATE(NOW()) AND `timestamp` < DATE(NOW()) + INTERVAL 1 DAY;

Diese Abfrage verwendet einen Index für die Zeitstempelspalte, was eine gängige Optimierungstechnik in SQL ist.

Das obige ist der detaillierte Inhalt vonWie rufe ich Zeilen mit Zeitstempeln nur vom heutigen Tag in SQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn