Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Pomocí DATEADD() a DATEDIFF() 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;
Upravit a spustit kód