IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Écart entre 2 dates en excluant les weekends et les jours fériés


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 21
    Points : 13
    Points
    13
    Par défaut Écart entre 2 dates en excluant les weekends et les jours fériés
    Bonjour,

    J'ai une table T1 où sur chaque ligne j'ai 2 dates.
    J'ai une table T2 où j'ai une seule colonnes avec les jours fériés et les week-end.
    J'ai une table T3 où j'ai les dates de tous les jours de l'année sur 3 ans.

    J'arrive à calculer l'écart entre mes 2 dates avec DATEDIFF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DATEDIFF(  `DATE1` ,  `DATE2` ) 
    FROM  `T1`
    mais j'aimerai que la requête ne tienne pas en compte des week-end et des jours fériés

    ex: si ecart = 10j mais qu'il y a un week end et un jour férié dans cet intervalle alors ecart2 = 10-3 = 7


    Si quelqu'un à la soluce....

    Merci d'avance

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Essaie ce genre de requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT T1.date1, T1.date2,
    	COUNT(T3.jour) AS duree
    FROM T1
    INNER JOIN T3 ON T3.jour BETWEEN T1.date1 AND t1.date2
    WHERE NOT EXISTS
    (
    	SELECT 1
    	FROM T2
    	WHERE T2.jour = t3.jour
    )
    GROUP BY T1.date1, T1.date2
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    après vérification des résultats, ta requête marche très bien

    merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. calculer la différence entre deux dates en excluant les weekends
    Par darkdark dans le forum Collection et Stream
    Réponses: 19
    Dernier message: 26/05/2011, 16h49
  2. Réponses: 4
    Dernier message: 21/11/2008, 10h54
  3. [Dates] Calcul d'écart entre 2 dates
    Par Sytchev3 dans le forum Langage
    Réponses: 4
    Dernier message: 17/10/2007, 01h39
  4. [VBA-E] Calculs d'écarts entre 2 dates
    Par harpic dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/12/2006, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo