Database
 sql >> Base de données >  >> RDS >> Database

Comment ajouter des jours à une date dans T-SQL

Problème :

Vous souhaitez ajouter un nombre donné de jours à une date dans T-SQL.

Exemple :

Notre base de données contient une table nommée Flight avec des données dans les colonnes Code et DepartureDate .

Code Date de départ
LT2030 2019-02-20
GH1100 2019-03-01
SR5467 2019-12-30

Modifions la date de départ de tous les vols, en ajoutant deux jours à la date de départ actuelle.

Solution :

Nous allons utiliser la fonction DATEADD() pour spécifier l'unité de temps à ajouter, définir la quantité à ajouter et sélectionner la date à modifier. Jetez un oeil à la requête :

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

Voici le résultat :

Code ChangedDepartureDate
LT2030 2019-02-22
GH1100 2019-03-03
SR5467 2020-01-01

Discussion :

Pour modifier une date et/ou une heure en ajoutant un nombre spécifique d'une unité de temps choisie, utilisez la fonction DATEADD() de SQL Server. Cette fonction fonctionne sur les types de données date, heure ou date et heure. Il prend trois arguments :

  1. L'unité de date/heure souhaitée à ajouter. Dans notre exemple, il fait jour; nous voulons ajouter des jours à la date.
  2. Combien d'unités ajouter. Dans notre exemple, c'est 2; nous voulons ajouter 2 jours à la date existante.
  3. Une colonne contenant la date/heure/dateheure que nous voulons changer. (Dans notre exemple, nous utilisons la colonne DepartureDate.) Cet argument peut également être une expression qui renvoie une date/heure/dateheure.

La fonction DATEADD() renvoie une nouvelle date. Dans notre exemple, la nouvelle date est renvoyée sous la forme ChangedDepartureDate colonne. Pour le code de vol "LT2030", la date "2019-02-20" est désormais "2019-02-22".

La fonction DATEADD() peut utiliser des unités de date et d'heure comme year , quarter , month , dayofyear , day , week , weekday , hour , minute , second , etc. Vous pouvez en savoir plus dans la documentation de SQL Server.


No