Comptage des occurrences de jours spécifiques entre des dates dans TSQL
Lorsque vous traitez des calculs liés aux dates dans TSQL, déterminer la fréquence de jours de la semaine spécifiques peut devenir un défi. Un de ces scénarios consiste à calculer le nombre de « mardis » entre deux dates données.
Solution
Pour compter le nombre d'instances d'un jour, y compris les mardis, vous pouvez utilisez le code fourni :
<code class="tsql">declare @from datetime= '3/1/2013' declare @to datetime = '3/31/2013' select datediff(day, -7, @to)/7-datediff(day, -6, @from)/7 AS MON, datediff(day, -6, @to)/7-datediff(day, -5, @from)/7 AS TUE, datediff(day, -5, @to)/7-datediff(day, -4, @from)/7 AS WED, datediff(day, -4, @to)/7-datediff(day, -3, @from)/7 AS THU, datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 AS FRI, datediff(day, -2, @to)/7-datediff(day, -1, @from)/7 AS SAT, datediff(day, -1, @to)/7-datediff(day, 0, @from)/7 AS SUN</code>
Dans ce code, vous pouvez remplacer « mardi » par n'importe quel autre jour souhaité en ajustant le code du jour correspondant (par exemple, -6 pour mardi).
En fournissant une date de début et de fin, ce code calcule le nombre d'occurrences de chaque jour au cours de cette période. Il suppose que le jour de début est le lundi (code -7) et calcule la différence entre le nombre de jours multiples de 7 (par exemple, des multiples de jours depuis lundi) entre les dates de début et de fin. Cela compte effectivement les instances de chaque jour dans la plage de dates spécifiée.
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!