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
Övningsinstruktioner
- Använd
DATEADD()ochDATEDIFF()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;