MySQL: Differenz zwischen zwei Datumsfeldern ermitteln

Viele Funktionen die PHP uns anbietet (z. B. Datumsvergleiche), lassen sich eleganter, bereits in der SQL-Abfrage lösen. So auch die Differenz zwischen zwei Datumswerten. Möchte man beispielsweise nur die Datensätze anzeigen lassen, welche zum aktuellen Datum eine Differenz von 7 Tagen aufweisen (z. B. für einen Newsletter o. ä.), dann verwenden wir hierfür die MySQL-Funktion DATEDIFF.

DATEDIFF erwartet lediglich zwei Datums- oder Timestamp-Felder für den Vergleich.

Erläuterung

Die MySQL-Funktion CURRENT_TIMESTAMP liefert, wie der Name schon vermuten lässt, den aktuellen Zeitstempel zurück. Wir vergleichen also unser Bestelldatum mit dem aktuellen Zeitstempel (Timestamp). Da wir alle Datensätze der letzten 7 Tage anzeigen möchten, verknüpfen wir unseren Datumsvergleich noch mit der Bedingung > 7. Nun erhalten wir als Abfrageergebnis nur die Bestellungen, welche innerhalb der letzten 7 Tage eingegangen sind.

Add Comment