Voila ce que j'ai trouvé de plus simple pour arrondir une date au quart d'heure.
Dites-moi si vous avez mieux !
SELECT DATEADD(MINUTE, (DATEDIFF(MINUTE, CONVERT(DATE, DateEvent), DateEvent) / 15) * 15, CONVERT(DATETIME, CONVERT(DATE, DateEvent)))
- On prend la date sans les heures : CONVERT(DATETIME, CONVERT(DATE, DateEvent))
- On calcule la différence en minutes entre la date sans les heures CONVERT(DATE, DateEvent) et la date avec les heures DateEvent : (DATEDIFF(MINUTE, CONVERT(DATE, DateEvent), DateEvent)
- En divisant le résultat qui est un entier par quinze : on bénéficie de la division entière et donc on a un nombre entier tout rond, qu'il suffit de remultiplier par quinze pour avoir un nombre de minutes arrondie au quart d'heure : (DATEDIFF(MINUTE, CONVERT(DATE, DateEvent), DateEvent) / 15) * 15
- On ajoute ce nombre à la date sans les heures, celle du point n°1 : DATEADD(MINUTE, (différence en minutes entre (date, date et heure) / 15) * 15, date): et on a l'heure arrondie au quart d'heure.
Enjoy !
Aucun commentaire:
Enregistrer un commentaire