Calculer le nombre de jours ouvrés entre deux dates à l'aide de SQL Server
Déterminer le nombre de jours ouvrables entre deux dates données est une tâche courante dans l'analyse des données et la génération de rapports. Dans SQL Server, ce calcul peut être effectué efficacement à l'aide de T-SQL.
Requête :
Pour calculer le nombre de jours ouvrés (du lundi au vendredi) entre deux dates, exécutez la requête suivante :
<code class="language-sql">DECLARE @StartDate DATETIME; DECLARE @EndDate DATETIME; SET @StartDate = '2008/10/01'; SET @EndDate = '2008/10/31'; SELECT (DATEDIFF(dd, @StartDate, @EndDate) + 1) -(DATEDIFF(wk, @StartDate, @EndDate) * 2) -(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END) -(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END);</code>
Instructions :
DATEDIFF(dd, @StartDate, @EndDate) 1
Calculez le nombre total de jours entre deux dates, y compris la date de début et la date de fin. DATEDIFF(wk, @StartDate, @EndDate) * 2
Soustrayez le nombre de jours de week-end (2 jours par semaine) du nombre total de jours. -(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END)
Ajustez la date de début au dimanche. -(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END)
Ajustez la date de fin au samedi. Autres considérations :
Pour inclure les jours fériés dans les calculs, créez un tableau séparé pour définir les dates des jours fériés et ajoutez-les à la requête. Cela nécessite une logique supplémentaire pour soustraire le nombre de jours fériés contenus dans la période 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!