Maison > base de données > tutoriel mysql > Comment calculer les jours ouvrables entre les dates dans SQL Server ?

Comment calculer les jours ouvrables entre les dates dans SQL Server ?

DDD
Libérer: 2025-01-21 23:42:10
original
784 Les gens l'ont consulté

How to Calculate Workdays Between Dates in SQL Server?

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>
Copier après la connexion

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal