Arrondir des dates
SQL Server n'offre pas une façon intuitive d'arrondir vers le bas au mois, à l'heure ou à la minute. Vous pouvez toutefois combiner les fonctions DATEADD() et DATEDIFF() pour effectuer cet arrondi.
Pour arrondir la date 1914-08-16 vers le bas à l'année, on appellerait DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Pour arrondir la date vers le bas au mois, on appellerait DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
Cette approche fonctionne aussi pour plusieurs autres éléments de date.
Cette activité fait partie du cours
Analyse de séries chronologiques dans SQL Server
Instructions de l’exercice
- Utilisez
DATEADD()etDATEDIFF()avec des éléments de date pour arrondir notre heure vers le bas au jour, à l'heure et à la minute.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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;