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 :

Calcul de date


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut Calcul de date
    Bonjour à tous j'ai un problème dans une requete pour trouver des infos durant une certaine période. Voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    From Abord
    WHERE Abord = 1
    And Date > 0000-00-00
    And Date < 9999-99-99;
    Mais ceci ne fonctionne pas si je met seulement "Date > 0000-00-00" en condition cela marche mais pas si je met seulement "Date < 9999-99-99" ou si je met les deux.
    J'ai testé aussi d'uiliser des dates autres que "0000-00-00" et "9999-99-99" mais cela ne fonctionne pas non plus.
    Merci

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    La date 00-00-0000, je peux le concevoir (et encore) : on peut imaginer que c'est la naissance du petit Jésus...

    Par contre, 9999 comme année, je veux bien, pourquoi pas, même si 8000 ans, ça commence à faire comme durée de vie d'un logiciel...

    mais là où ça se gâte, c'est pour le mois 99 !
    c'est quoi son petit nom ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Mais c'est un test c'est fictif. Là n'est pas le problème si je met
    "2005-12-31" à la place de "9999-99-99" le résultat est le même la requête ne marche pas.

    J'ai testé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    From abord
    WHERE Abord = 1
    And Date < 2005-12-31
    et cela ne marche pas alors que toute mes dates sont avant le 2005-12-31
    alors que ceci marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    From abord
    WHERE Abord = 1
    And Date > 2000-01-01

  4. #4
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Déjà, quand vous dites que ça "ne marche pas" cela signifie que le filtrage n'est pas efficace ou que cela produit une erreur ?

    Sinon, quel est votre SGBD ?
    Parce que sous Oracle, on fait to_date ('2005-12-31', 'YYYY-MM-DD') pour convertir une chaine en date...

    D'autre part, au lieu de mettre 2005-12-31, si vous mettez 2006-01-01 en borne sup ?

  5. #5
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Peut être que ca marcherait mieux comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT * 
    From Abord 
    WHERE Abord = 1 
    And Date > "0000-00-00" 
    And Date < "9999-99-99";
    Mais en remplacant, 9999-99-99 par une "vraie" date, comme l'as souligné Leo.


    Laly.

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Merci lalystar ça marche et oui j'utilise autre chose que "9999-99-99" et que "0000-00-00" mais là c'était des exemples ! c'est tout.
    Et merci quand même pour ton aide LeaAnderson.

  7. #7
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Parfait ! :-)
    Dans ce cas, n'oubliez pas de marquer le sujet comme étant résolu ! ;-)

    Sinon, à l'avenir, si vous pouviez penser à fournir les paramètres réellement utilisés, ça permettrait de ne pas partir dans une fausse piste pour rien...

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

Discussions similaires

  1. [Calendar]Problème de calcul de date
    Par valerie90 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 08/12/2004, 12h13
  2. COUNT + Calcul de DATE
    Par cassi2 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/10/2004, 16h35
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. SCRIPT CALCULANT LA DATE
    Par Redouane dans le forum ASP
    Réponses: 3
    Dernier message: 17/03/2004, 09h10
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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