Problem:
Sie möchten das gestrige Datum (ohne Uhrzeit) in einer SQL Server Datenbank anzeigen.
Lösung:
SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;
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 GETDATE()
um das heutige Datum zu erhalten (der Typ ist datetime
) und auf date
umwandeln . In SQL Server können Sie mit DATEADD()
eine beliebige Anzahl von Tagen subtrahieren oder addieren Funktion.
Das DATEADD()
Die Funktion benötigt drei Argumente:datepart
, number
, und date
. Hier der Wert von datepart
ist day
, weil die Zeiteinheit, die Sie subtrahieren möchten, der Tag ist. Das zweite Argument ist -1 (Sie subtrahieren 1 Tag, was dem Hinzufügen von -1 Tag entspricht). Das dritte Argument ist das heutige Datum – das Datum, von dem Sie subtrahieren möchten.
Natürlich können Sie genauso einfach um ein beliebiges Zeitintervall zurückgehen. Hier ist ein Beispiel:
SELECT DATEADD(month, -5, CAST(GETDATE() AS date));
Es kann auch ein Zeitintervall added
zu einem Termin. So können Sie das morgige Datum abrufen:
SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;