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

So addieren Sie Tage zu einem Datum in T-SQL

Problem:

Sie möchten einem Datum in T-SQL eine bestimmte Anzahl von Tagen hinzufügen.

Beispiel:

Unsere Datenbank hat eine Tabelle namens Flight mit Daten in den Spalten Code und DepartureDate .

Code Abreisedatum
LT2030 2019-02-20
GH1100 01.03.2019
SR5467 2019-12-30

Lassen Sie uns das Abflugdatum für alle Flüge ändern und das aktuelle Abflugdatum um zwei Tage verlängern.

Lösung:

Wir werden die Funktion DATEADD() verwenden, um die hinzuzufügende Zeiteinheit anzugeben, zu definieren, wie viel hinzugefügt werden soll, und das zu ändernde Datum auszuwählen. Sehen Sie sich die Abfrage an:

	SELECT Code,
		  DATEADD(day, 2, DepartureDate)
		    AS ChangedDepartureDate 
      FROM Flight;

Hier ist das Ergebnis:

Code Geändertes Abreisedatum
LT2030 22.02.2019
GH1100 2019-03-03
SR5467 2020-01-01

Diskussion:

Um ein Datum und/oder eine Uhrzeit durch Hinzufügen einer bestimmten Zahl einer ausgewählten Zeiteinheit zu ändern, verwenden Sie die Funktion DATEADD() von SQL Server. Diese Funktion arbeitet mit Datums-, Uhrzeit- oder Datums- und Uhrzeitdatentypen. Es braucht drei Argumente:

  1. Die gewünschte hinzuzufügende Datums-/Uhrzeiteinheit. In unserem Beispiel ist es Tag; wir wollen dem Datum Tage hinzufügen.
  2. Wie viele Einheiten hinzugefügt werden sollen. In unserem Beispiel ist dies 2; Wir möchten 2 Tage zum bestehenden Datum hinzufügen.
  3. Eine Spalte, die Datum/Uhrzeit/DatumUhrzeit enthält, die wir ändern möchten. (In unserem Beispiel verwenden wir die Spalte DepartureDate.) Dieses Argument kann auch ein Ausdruck sein, der Datum/Uhrzeit/Datum/Uhrzeit zurückgibt.

Die Funktion DATEADD() gibt ein neues Datum zurück. In unserem Beispiel wird das neue Datum als ChangedDepartureDate zurückgegeben Säule. Für den Flugcode „LT2030“ lautet das Datum „20.02.2019“ jetzt „22.02.2019“.

Die Funktion DATEADD() kann Datums- und Zeiteinheiten wie year verwenden , quarter , month , dayofyear , day , week , weekday , hour , minute , second usw. Weitere Informationen finden Sie in der SQL Server-Dokumentation.


No