Zaokrouhlování dat
SQL Server nenabízí intuitivní způsob, jak zaokrouhlit datum dolů na měsíc, hodinu nebo minutu. Pomocí kombinace funkcí DATEADD() a DATEDIFF() to ale zvládnout jde.
Pokud chceme zaokrouhlit datum 1914-08-16 dolů na rok, zavoláme DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Pro zaokrouhlení dolů na měsíc použijeme DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
Stejný postup funguje i pro řadu dalších částí data.
Toto cvičení je součástí kurzu
Time Series Analysis in SQL Server
Pokyny k cvičení
- Pomocí
DATEADD()aDATEDIFF()v kombinaci s částmi data zaokrouhli čas dolů na den, hodinu a minutu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
DECLARE
@SomeTime DATETIME2(7) = '2018-06-14 16:29:36.2248991';
-- Fill in the appropriate functions and date parts
SELECT
DATEADD(___, DATEDIFF(DAY, 0, @SomeTime), 0) AS RoundedToDay,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToHour,
___(___, ___(___, 0, @SomeTime), 0) AS RoundedToMinute;