sql >> Databáze >  >> RDS >> Database

Jak přidat dny k datu v T-SQL

Problém:

Chcete přidat daný počet dní k datu v T-SQL.

Příklad:

Naše databáze obsahuje tabulku s názvem Flight s údaji ve sloupcích Code a DepartureDate .

Kód Datum odjezdu
LT2030 20. 2. 2019
GH1100 2019-03-01
SR5467 2019-12-30

Změňme datum odletu pro všechny lety a k aktuálnímu datu odletu přidáme dva dny.

Řešení:

Použijeme funkci DATEADD() k určení jednotky času, která se má přidat, definujeme, kolik přidat, a vybereme datum, které se má změnit. Podívejte se na dotaz:

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

Zde je výsledek:

Kód ChangedDepartureDate
LT2030 22. 2. 2019
GH1100 2019-03-03
SR5467 2020-01-01

Diskuse:

Chcete-li změnit datum a/nebo čas přidáním konkrétního čísla zvolené časové jednotky, použijte funkci DATEADD() SQL Serveru. Tato funkce funguje s datovými typy data, času nebo data a času. Vyžaduje to tři argumenty:

  1. Požadovaná jednotka data/času, kterou chcete přidat. V našem příkladu je to den; chceme k datu přidat dny.
  2. Kolik jednotek přidat. V našem příkladu je to 2; ke stávajícímu datu chceme přidat 2 dny.
  3. Sloupec obsahující datum/čas/datum a čas, které chceme změnit. (V našem příkladu používáme sloupec DepartureDate.) Tento argument může být také výraz, který vrací datum/čas/datum a čas.

Funkce DATEADD() vrátí nové datum. V našem příkladu je nové datum vráceno jako ChangedDepartureDate sloupec. Pro letový kód ‚LT2030‘ je datum ‚2019-02-20‘ nyní ‚2019-02-22‘.

Funkce DATEADD() může používat jednotky data a času jako year , quarter , month , dayofyear , day , week , weekday , hour , minute , second , atd. Více se můžete dozvědět v dokumentaci k SQL Serveru.


  1. SQL SELECT DISTINCT:Nejlepší postupy pro výkon

  2. Jak filtrovat výsledky dotazů v PostgreSQL

  3. Jak vytvořit databázi MySQL a nastavit oprávnění

  4. Potřebuje vaše firma HR databázi?