Maison >base de données >tutoriel mysql >Comment arrondir efficacement les valeurs de temps T-SQL à l'intervalle de 15 minutes le plus proche ?
Calcul exact : Arrondir les valeurs de temps T-SQL à l'intervalle de 15 minutes le plus proche
Lorsque vous traitez des données temporelles dans T-SQL, il est souvent nécessaire d'arrondir les valeurs à un intervalle de temps spécifique. Une exigence courante consiste à arrondir les valeurs HH:MM à l'intervalle de 15 minutes le plus proche.
Méthode d'arrondi efficace
Un moyen efficace d'arrondir les valeurs de temps à l'intervalle de 15 minutes le plus proche sans s'appuyer sur des instructions UDF ou CASE complexes, mais en utilisant à la place les fonctions DATEADD et DATEDIFF. Cette méthode comprend :
Exemple
Appliquez cette méthode à votre besoin spécifique de calculs à l'aide des fonctions CONVERT, DATEADD et DATEDIFF et vous obtiendrez la requête suivante :
<code class="language-sql">SELECT DATEADD(MINUTE, ROUND(DATEDIFF(MINUTE, 0, CONVERT(CHAR(8), DATEADD(n, SUM(DATEDIFF(n, starttime, stoptime)), 0), 108)) / 15.0, 0) * 15, 0)</code>
Ce calcul arrondit la valeur temporelle HH:MM exactement à l'intervalle de 15 minutes le plus proche, garantissant qu'une valeur telle que 00:08:00 devient 00:15:00 et 00:07:00 devient 00 : 00:00.
Autres méthodes
Bien que les méthodes DATEADD et DATEDIFF soient efficaces et précises, il existe plusieurs autres méthodes que vous pouvez envisager pour arrondir les valeurs de temps dans T-SQL :
Utilisez la fonction ROUND et précisez l'intervalle :
<code class="language-sql"> ROUND(time_value, 15)</code>
Utilisation de la fonction FLOOR de SQL Server 2012 :
<code class="language-sql"> FLOOR(DATEADD(MINUTE, time_value, 0))</code>
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!