Arrondir les dates
SQL Server ne propose pas de méthode évidente pour tronquer à l’unité de mois, d’heure ou de minute. Vous pouvez toutefois combiner les fonctions DATEADD() et DATEDIFF() pour effectuer cet arrondi à l’inférieur.
Pour arrondir la date 1914-08-16 à l’année, on appelle DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0).
Pour arrondir la date au mois, on appelle DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0).
Ce principe fonctionne aussi pour plusieurs autres parties de date.
Cet exercice fait partie du cours
<cours>Analyse de séries temporelles dans SQL Server</cours>Instructions de l’exercice
- Utilisez
DATEADD()etDATEDIFF()avec les parties de date pour tronquer notre horodatage 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;