Calculer efficacement les jours de travail en T-SQL
Déterminer le nombre de jours ouvrés entre deux dates est une exigence courante dans SQL Server. Ceci est crucial pour la planification des projets, le calcul des congés des employés et d’autres applications commerciales. Ce guide démontre une approche T-SQL robuste.
Une solution T-SQL pour le calcul de la journée de travail
Les étapes suivantes décrivent une méthode de calcul des jours de travail dans SQL Server à l'aide de Transact-SQL (T-SQL) :
(DATEDIFF(dd, @StartDate, @EndDate) 1) - (DATEDIFF(wk, @StartDate, @EndDate) * 2)
Cette formule calcule le nombre total de jours, soustrait les jours du week-end (deux par semaine) et prend en compte les scénarios dans lesquels la date de début ou de fin tombe un week-end.
Exemple illustratif
Illustrons avec un exemple pratique :
<code class="language-sql">DECLARE @StartDate DATETIME; DECLARE @EndDate DATETIME; SET @StartDate = '2023-03-06'; SET @EndDate = '2023-03-20'; 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>
Gestion des jours fériés
Pour des résultats plus précis, intégrez les jours fériés dans le calcul :
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!