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;