Kom igångKom igång gratis

Avrundning av datum

SQL Server saknar ett intuitivt sätt att avrunda nedåt till månad, timme eller minut. Du kan däremot kombinera funktionerna DATEADD() och DATEDIFF() för att utföra den här avrundningen.

För att avrunda datumet 1914-08-16 nedåt till året anropar vi DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).

För att avrunda datumet nedåt till månaden anropar vi DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).

Detta fungerar även för flera andra datumdelar.

Den här övningen är en del av kursen

Tidsserieanalys i SQL Server

Visa kurs

Övningsinstruktioner

  • Använd DATEADD() och DATEDIFF() tillsammans med datumdelar för att avrunda vår tid nedåt till dag, timme och minut.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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;
Redigera och kör kod