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

PostgreSQL Discussion :

Recherche sur des dates


Sujet :

PostgreSQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Recherche sur des dates
    bonjour,
    je dois fixer un bug dans un code qui n'est pas de moi et j'ai un probleme avec les dates.
    pour faire simple je vais vous expliquer ce qu'on devrait obtenir et ce qu'on obtient réellement (bug).

    ce qu'on veut :
    en sélectionnant une année, par exemple 1980, on veut obtenir la liste de toutes les personnes née en 1980.

    ce qu'on obtient réellement (qui ne correspond pas à ce qu'on veut) :
    en sélectionnant une année, par exemple 1980, on obtient la liste de toutes les personnes dont la date de naissance est inférieure ou égale à 1980-12-31.

    voici le morceau de requête SQL qui ne va pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and ( b.birthday <= '1980-12-31 11:59:59'::timestamp )


    on voit aisément le problème mais je n'arrive pas à touver la syntaxe qui me permettrait de faire une comparaison du meme genre que je pourrai faire avec une chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and ( b.birthday like '1980%' )


    quelques infos concernant la base de données : PostgreSQL 7.3.4.
    le champ birthday est de type date.

    PS : si je poste au milieu de la nuit ... c'est parce que je suis à Taiwan ... et il est 9:30AM ici.

  2. #2
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    après avoir potassé la documentation de postgreSQL j'ai trouvé la solution, pour ceux que ça interesse :
    and date_part('year', b.birthday) = '1980'
    la requete complete :
    select b.member_id, b.birthday
    from member a, member_info b
    where a.store_id='1026'
    and b.member_id=a.member_id
    and a.status<>'DEL'
    and date_part('year', b.birthday) = '1980'
    order by b.member_id desc
    j'ai cru un moment que ça ne marchait pas puis il m'a suffit de fermer pgAdminIII puis de le re-ouvrir pour que la requete fonctionne ... très étrange !

Discussions similaires

  1. [Toutes versions] Confusion de résultats dans recherche des occurrences d'une valeur avec Find sur des dates
    Par iperkut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2011, 19h07
  2. Réponses: 13
    Dernier message: 27/05/2011, 23h12
  3. Recherche sur des date ou Timestamp
    Par maximeguyot dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/10/2009, 03h52
  4. recherche sur des dates
    Par ingui dans le forum Access
    Réponses: 2
    Dernier message: 07/03/2007, 18h37
  5. probleme avec des filtres de recherche sur des dates
    Par MCarole dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 10h22

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