Database
 sql >> Datenbank >  >> RDS >> Database

So erhalten Sie das gestrige Datum in T-SQL

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;