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

Sådan tilføjer du dage til en dato i T-SQL

Problem:

Du vil gerne tilføje et givet antal dage til en dato i T-SQL.

Eksempel:

Vores database har en tabel med navnet Flight med data i kolonnerne Code og DepartureDate .

Kode Afrejsedato
LT2030 2019-02-20
GH1100 2019-03-01
SR5467 2019-12-30

Lad os ændre afgangsdatoen for alle fly og føje to dage til den aktuelle afgangsdato.

Løsning:

Vi vil bruge DATEADD()-funktionen til at angive den tidsenhed, der skal tilføjes, definere hvor meget der skal tilføjes og vælge datoen, der skal ændres. Tag et kig på forespørgslen:

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

Her er resultatet:

Kode Ændret afgangsdato
LT2030 2019-02-22
GH1100 2019-03-03
SR5467 2020-01-01

Diskussion:

For at ændre en dato og/eller et klokkeslæt ved at tilføje et specifikt tal for en valgt tidsenhed, skal du bruge SQL Servers DATEADD() funktion. Denne funktion fungerer på dato, klokkeslæt eller dato- og klokkeslætsdatatyper. Det kræver tre argumenter:

  1. Den ønskede enhed for dato/klokkeslæt, der skal tilføjes. I vores eksempel er det dag; vi ønsker at tilføje dage til datoen.
  2. Hvor mange enheder der skal tilføjes. I vores eksempel er dette 2; vi ønsker at tilføje 2 dage til den eksisterende dato.
  3. En kolonne, der indeholder den dato/klokkeslæt/datotid, vi ønsker at ændre. (I vores eksempel bruger vi kolonnen DepartureDate.) Dette argument kan også være et udtryk, der returnerer en dato/tid/datotid.

Funktionen DATEADD() returnerer en ny dato. I vores eksempel returneres den nye dato som ChangedDepartureDate kolonne. For flykoden 'LT2030' er datoen '2019-02-20' nu '2019-02-22'.

Funktionen DATEADD() kan bruge dato- og tidsenheder som year , quarter , month , dayofyear , day , week , weekday , hour , minute , second osv. Du kan lære mere i SQL Server-dokumentationen.


  1. Der opstod en fejl under installationen af ​​pg (0.17.1), og Bundler kan ikke fortsætte

  2. 4 måder at finde ud af, hvilke kolonner der returneres af en lagret procedure i SQL Server

  3. Fastgør tabel i Flash-cachen

  4. PostgreSQL + Hibernate + Spring automatisk oprette database