Problém:
Chcete zobrazit včerejší datum (bez času) v databázi SQL Server.
Řešení:
SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;
Za předpokladu, že dnes je 24. 9. 2020, výsledek je:
yesterday_date |
---|
23.09.2020 |
Diskuse:
Chcete-li získat včerejší datum, musíte odečíst jeden den od dnešního data. Použijte GETDATE()
abyste získali dnešní datum (typ je datetime
) a odešlete jej do date
. V SQL Server můžete odečíst nebo přidat libovolný počet dní pomocí DATEADD()
funkce.
DATEADD()
funkce má tři argumenty:datepart
, number
a date
. Zde je hodnota datepart
je day
, protože jednotkou času, kterou chcete odečíst, je den. Druhý argument je -1 (odečtete 1 den, což je stejné jako přičtení -1 dne). Třetím argumentem je dnešní datum – datum, od kterého chcete odečíst.
Stejně snadno se samozřejmě můžete vrátit o jakýkoli časový interval. Zde je příklad:
SELECT DATEADD(month, -5, CAST(GETDATE() AS date));
Lze také added
na rande. Pokud tedy chcete získat zítřejší datum, zde je způsob:
SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;