Datums afronden
SQL Server heeft geen intuïtieve manier om af te ronden naar de maand, het uur of de minuut. Je kunt echter de functies DATEADD() en DATEDIFF() combineren om dit af te ronden.
Om de datum 1914-08-16 naar beneden af te ronden op het jaar, zouden we DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0) aanroepen.
Om de datum naar beneden af te ronden op de maand, zouden we DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0) aanroepen.
Dit werkt ook voor enkele andere datumonderdelen.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in SQL Server
Oefeninstructies
- Gebruik
DATEADD()enDATEDIFF()samen met date parts om onze tijd naar beneden af te ronden op de dag, het uur en de minuut.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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;