Maison  >  Article  >  base de données  >  Comment puis-je calculer le nombre de jours de la semaine spécifiques dans une plage de dates à l'aide de TSQL ?

Comment puis-je calculer le nombre de jours de la semaine spécifiques dans une plage de dates à l'aide de TSQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 12:32:29481parcourir

How can I calculate the number of specific weekdays within a date range using TSQL?

Calcul du nombre de jours de la semaine spécifiques dans une plage de dates

Déterminer le nombre de jours de la semaine spécifiques, tels que les mardis, entre deux dates peut être une tâche courante dans l’analyse des données. Ce problème peut être résolu efficacement en utilisant Transact-SQL (TSQL).

Pour calculer le nombre de mardis entre deux dates, une approche modifiée est recommandée, car TSQL n'a pas de fonction directe pour déterminer le jour du semaine sous forme d'entier.

L'extrait de code suivant décrit les étapes :

  1. Déclarez les dates de début et de fin en tant que variables datetime :

    declare @from datetime= '3/1/2013'
    declare @to datetime  = '3/31/2013'
  2. Utilisez la fonction datediff() pour déterminer la différence entre les dates en jours. Soustrayez 6 de la date de fin pour l'aligner sur dimanche, qui est considéré comme le jour 0 dans TSQL :

    datediff(day, -6, @to)
  3. Divisez le résultat par 7 pour obtenir le nombre de semaines complètes (contenant chaque jour de la semaine une fois) entre les dates :

    datediff(day, -6, @to)/7
  4. Soustrayez le même calcul de la date de début pour déterminer quel jour de la semaine tombe la date de début :

    datediff(day, -6, @from)/7
  5. Soustrayez le résultat de l'étape 4 du résultat de l'étape 3 pour obtenir le nombre d'instances du jour spécifique (mardi, dans ce cas) entre les dates :

    datediff(day, -6, @to)/7-datediff(day, -6, @from)/7

En suivant ces étapes, vous pouvez calculer efficacement le nombre de mardis ou tout autre jour de semaine spécifique entre deux dates à l'aide de TSQL.

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!

Déclaration:
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