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

Langage SQL Discussion :

Comparer deux dates


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 102
    Par défaut Comparer deux dates
    Bonjour,

    Je suis en train de développer une appli et j'ai une requete un peu particulière a faire. Dans un tableau sous excel, je veux récupérer le nombre de contrats ayant une visite durant le mois avec une date initiale dynamique.

    Exemple pour date initiale le 01/01/2008:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT count(contrat.no_contrat) as nb FROM Contrat, Visite WHERE 
    (visite.date_prevue >= '01/01/2008' AND visite.date_prevue <= '31/01/2008') ;
    Cela ne fonctionne pas. J'ai essayé avec DateDiff mais cela ne marche pas non plus, ca plante!! Je ne sais pas comment faire.

    Merci de votre bienveillance.

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    En gros, tu es sous SQL Server et tu as un serveur lié vers ton Excel ?
    Quel est le message d'erreur ?
    Vérifie que tu as le bon format de dates.
    Et (dans le cas où c'est là ta requête entière) n'oublie pas de faire la jointure entre tes deux tables

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 102
    Par défaut
    J'ai rajouter les jointures.

    En utilisant DateDiff du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateDiff('d','01/01/08',visite.date_prevu) <= 31
    dans un WHERE pour chaque contrat, cela doit me renvoyer un vrai ou faux?! Cela me renvoit un compte faramineux a chaque fois!!

    J'ai pensé a couper la requete en deux en faisant d'abord, par contrat dans une boucle, si la visite du contrat est dans la zone mensuelle, je le prends et je passe au suivant. Mais cela me sort que des résultats erroné!

  4. #4
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Citation Envoyé par Xavier3131 Voir le message
    Cela me renvoit un compte faramineux a chaque fois!!
    Le where ne te renvoie rien, il filtre.
    Si ton count(...) est faramineux, c'est parce que ta jointure ou ton filtre est mauvais.

    Pour tester, remplace COUNT(...) par *, et tu verras le résultat de ta jointure.
    Maintenant, l'une des raisons possibles, c'est (comme dit) le format de la date.
    Si SQL Server interprète '01/01/08' au format 'yy/mm/dd', ça pourrait être gênant...

Discussions similaires

  1. Comment comparer deux dates
    Par vodevil dans le forum Modules
    Réponses: 6
    Dernier message: 01/09/2005, 18h24
  2. comparer deux dates
    Par adel25 dans le forum C++
    Réponses: 3
    Dernier message: 23/08/2005, 20h29
  3. Comparer deux dates
    Par LoicH dans le forum C++Builder
    Réponses: 4
    Dernier message: 04/03/2005, 22h53
  4. comment comparer deux dates?
    Par billoum dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/08/2004, 21h08

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