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

Come aggiungere giorni a una data in T-SQL

Problema:

Vorresti aggiungere un determinato numero di giorni a una data in T-SQL.

Esempio:

Il nostro database ha una tabella denominata Flight con i dati nelle colonne Code e DepartureDate .

Codice Data di partenza
LT2030 20-02-2019
GH1100 01-03-2019
SR5467 30-12-2019

Modifichiamo la data di partenza per tutti i voli, aggiungendo due giorni alla data di partenza attuale.

Soluzione:

Utilizzeremo la funzione DATEADD() per specificare l'unità di tempo da aggiungere, definire quanto aggiungere e selezionare la data da modificare. Dai un'occhiata alla domanda:

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

Ecco il risultato:

Codice Data di partenza modificata
LT2030 22-02-2019
GH1100 03-03-2019
SR5467 01-01-2020

Discussione:

Per modificare una data e/o un'ora aggiungendo un numero specifico di un'unità di tempo scelta, utilizzare la funzione DATAADD() di SQL ServerSQL Server. Questa funzione funziona sui tipi di dati di data, ora o data e ora. Occorrono tre argomenti:

  1. L'unità di data/ora desiderata da aggiungere. Nel nostro esempio, è giorno; vogliamo aggiungere giorni alla data.
  2. Quante unità aggiungere. Nel nostro esempio, questo è 2; vogliamo aggiungere 2 giorni alla data esistente.
  3. Una colonna contenente la data/ora/dataora che vogliamo modificare. (Nel nostro esempio, utilizziamo la colonna PartenzaDate.) Questo argomento può anche essere un'espressione che restituisce una data/ora/dataora.

La funzione DATAADD() restituisce una nuova data. Nel nostro esempio, la nuova data viene restituita come ChangedDepartureDate colonna. Per il codice di volo "LT2030", la data "20-02-2019" è ora "22-02-2019".

La funzione DATEADD() può utilizzare unità di data e ora come year , quarter , month , dayofyear , day , week , weekday , hour , minute , second , ecc. Puoi saperne di più nella documentazione di SQL Server.


No