Maison > base de données > tutoriel mysql > Comment arrondir les valeurs de temps HH:MM à l'intervalle de 15 minutes le plus proche dans T-SQL ?

Comment arrondir les valeurs de temps HH:MM à l'intervalle de 15 minutes le plus proche dans T-SQL ?

Mary-Kate Olsen
Libérer: 2025-01-10 14:12:42
original
821 Les gens l'ont consulté

How to Round HH:MM Time Values to the Nearest 15-Minute Interval in T-SQL?

Arrondir les valeurs de temps HH:MM à l'intervalle de 15 minutes le plus proche en T-SQL

Dans l'analyse des données, arrondir les valeurs de temps à l'intervalle spécifié le plus proche est une tâche courante. Dans cet exemple, notre objectif est d'arrondir les valeurs HH:MM à l'intervalle de 15 minutes le plus proche.

Méthodes qui ne nécessitent pas de fonctions définies par l'utilisateur

Bien que l'utilisation de fonctions définies par l'utilisateur (UDF) ou d'instructions CASE soit une approche viable, il existe des moyens plus élégants d'éviter de les utiliser. Une solution consiste à utiliser les fonctions DATEADD et DATEDIFF :

select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)
Copier après la connexion

Ici, GETDATE() représente la valeur de date et d'heure actuelle. La fonction DATEDIFF calcule la différence en minutes entre l'heure actuelle et une date de référence fixe de 0. Nous avons ensuite divisé cette différence par 15 et multiplié par 15 pour obtenir l'intervalle de 15 minutes le plus proche. Enfin, la fonction DATEADD ajoute cet intervalle à la date de référence, ce qui donne une valeur temporelle arrondie.

Remarques

Cette méthode convient aux cas où seules les minutes sont pertinentes et les secondes peuvent être ignorées. En raison de problèmes de débordement potentiels, il peut gérer des dates allant jusqu'à l'an 5500. Toutefois, l'utilisation d'une date spécifique (par exemple, « 2009-01-01 ») ou de la date du jour comme point de référence peut contourner cette limitation.

Exemple

Par exemple, utiliser la méthode ci-dessus pour arrondir un horodatage tel que « 00:08:00 » à l'intervalle de 15 minutes le plus proche donnerait « 00:15:00 ». De même, « 00:07:00 » sera arrondi à « 00:00:00 ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal