Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie wähle ich Daten zwischen zwei Daten in MySQL richtig aus?

Barbara Streisand
Freigeben: 2024-11-24 16:04:43
Original
216 Leute haben es durchsucht

How to Correctly Select Data Between Two Dates in MySQL?

Auswählen von Daten zwischen zwei Datumsangaben in MySQL

Bei der Arbeit mit Datums- und Zeitdaten in MySQL ist es häufig erforderlich, Daten auszuwählen, die in einen bestimmten Datumsbereich fallen . Wenn Sie jedoch die Spalte „created_at“ als Datums-/Uhrzeitwert verwenden, ist die Standardinterpretation für kurze Daten Mitternacht.

Problem:

Es kann vorkommen, dass eine Abfrage wie Im Folgenden wird keine Zeile zurückgegeben, obwohl der Zeitstempel „created_at“ der Zeile innerhalb des angegebenen Datums liegt Bereich:

SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
Nach dem Login kopieren

Lösung:

Das Problem besteht darin, dass die Abfrage tatsächlich Daten mit einem Bereich von „2011-12-01 00:00:00“ auswählt ' bis '2011-12-06 00:00:00'. Um dies zu beheben, gibt es mehrere Ansätze:

  • Erweitern Sie den Enddatumsbereich: Ändern Sie die Abfrage so, dass sie den folgenden Bereich verwendet:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
Nach dem Login kopieren
  • Verwenden Sie DATE_ADD (): Berechnen Sie das Enddatum, indem Sie einen Tag zum ursprünglichen Ende hinzufügen Datum:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= DATE_ADD('2011-12-01', INTERVAL 7 DAY)
Nach dem Login kopieren
  • Verwenden Sie den BETWEEN-Operator zur besseren Lesbarkeit:
SELECT `users`.* FROM `users` WHERE created_at BETWEEN('2011-12-01', DATE_ADD('2011-12-01', INTERVAL 7 DAY))
Nach dem Login kopieren

Durch die Verwendung eines dieser Ansätze werden Daten korrekt ausgewählt, die in den angegebenen Bereich fallen Datumsbereich, einschließlich Zeilen mit „created_at“-Zeitstempeln wie „2011-12-06“. 10:45:36'.

Das obige ist der detaillierte Inhalt vonWie wähle ich Daten zwischen zwei Daten in MySQL richtig aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage