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

MS SQL Server Discussion :

Calcul entre 2 dates selon des paramètres


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut Calcul entre 2 dates selon des paramètres
    Bonjour

    je dois répondre à un besoin de mon client pas évident à traiter.

    l'objectif est de calculer une periode d'indisponibilité d'environnement entre 2 dates sachant que j'ai la date et l'heure de début et de fin pour chaque item d'indispo

    Je pensais faire un datefiff simple entre 2 dates mais le date diff me compte sur 24heures alors que le besoin de mon client est de ne se baser que sur une plage horaire particulière (08h00-20h00) car les applis ne sont pas en 24/24.

    Bref une indispo du 07/04 16h00 au 08/04 10h00 ne compterait que pour 6 heures (de 16h00 à 20h00 + de 08h00 à 10h00)

    de plus il faudrait aussi ne pas prendre en compte les jours fériés ni les WE

    Je ne sais pas si de telles fonctions existent en natif ou s'il faut passer par des calculs complexes

    merci de votre aide
    PS : Sql server 2000

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    au boulot je pense.

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Par défaut
    Ah oui la je crois que tu peux tout de suite te mettre sur ta procédure stockée.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    Tu fais un petit test tous simple ds ta requête du genre :
    If day(datedeb)<day(datefin) then DATEDIFF(seconde, datedeb, (annéemoisjour_de_date_deb et '20:00')) + DATEDIFF(seconde,(annéemoisjour_de_date_fin et '08:00'), datefin) else datediff(ss, datedeb,datefin)
    Un truc du genre ...

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Commencez par implémentez une table des dates et temps d'ouverture avec toutes les dates indiqué ici :
    http://sqlpro.developpez.com/cours/gestiontemps/

    Vous n'aurez plus ensuite que des requêtes à faire ce qui est TOUJOURS le plus rapide...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    Ok, je vais regarder de ce coté

    merci

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

Discussions similaires

  1. [Toutes versions] Calcul moyenne entre deux dates selon condition par vba
    Par bboy-eazy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/05/2015, 13h08
  2. Réponses: 2
    Dernier message: 04/04/2006, 10h34
  3. [Oracle8] calcul entre 2 dates
    Par bobunny dans le forum Oracle
    Réponses: 7
    Dernier message: 28/10/2005, 12h18
  4. [C#] Calcul sur les dates avec des DateTimePicker
    Par alizee971 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2005, 17h14
  5. Calcul entre deux dates heures
    Par Isa31 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 31/03/2005, 13h17

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