Problem:
Sie möchten das gestrige Datum (ohne Uhrzeit) in einer MySQL-Datenbank anzeigen.
Lösung:
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_date;
Unter der Annahme, dass heute der 24.09.2020 ist, lautet das Ergebnis:
| Gestern_Datum |
|---|
| 2020-09-23 |
Diskussion:
Um das gestrige Datum zu erhalten, müssen Sie vom heutigen Datum einen Tag abziehen. Verwenden Sie CURDATE() um das heutige Datum zu erhalten. In MySQL können Sie jedes Datumsintervall mit DATE_SUB() subtrahieren Funktion. Da Sie hier einen Tag abziehen müssen, verwenden Sie DATE_SUB(CURDATE(), INTERVAL 1 DAY) um das gestrige Datum zu erhalten. Beachten Sie, dass das Ergebnis dieser Berechnung immer noch den Spaltentyp date.
Sie können genauso einfach um ein beliebiges Zeitintervall zurückgehen. Hier ist ein Beispiel:
SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS date_two_months_ago;
Auch das morgige Datum können Sie ganz einfach berechnen. Verwenden Sie das DATE_ADD() Funktion, um einem Datum ein Intervall hinzuzufügen.
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date;