"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment calculer le nombre de mardis entre deux dates en TSQL ?

Comment calculer le nombre de mardis entre deux dates en TSQL ?

Publié le 2024-12-11
Parcourir:796

How to Calculate the Number of Tuesdays Between Two Dates in TSQL?

Calcul du nombre de mardis entre deux dates en TSQL

Déterminer le nombre de mardis entre deux dates est un défi courant dans la programmation TSQL. Une approche efficace est décrite par t-clausen.dk :

Pour calculer les instances de chaque jour de la semaine :

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

Cette requête renvoie le nombre d'occurrences de chaque jour de la semaine dans la plage de dates spécifiée . Les calculs sont basés sur les principes suivants :

  • La fonction datediff calcule la différence entre deux dates en jours.
  • L'expression -7 représente le dimanche précédant la date de début.
  • L'expression -6 représente le lundi précédant la date de début.
  • La division par 7 regroupe les jours par semaine.
  • La soustraction du nombre de jours de la date de début jusqu'au lundi précédant la date de début calcule le nombre de semaines entre les dates de début et de fin.
  • La soustraction du nombre de jours depuis la date de fin jusqu'au jour de la semaine précédant la la date de fin calcule le nombre de jours restants dans la semaine dernière.

En appliquant cette méthode, vous pouvez facilement déterminer le nombre de mardis ou tout autre jour de la semaine dans une plage de dates donnée.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3