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 :

requete - Where + comparaison de date


Sujet :

PostgreSQL

  1. #1
    Membre régulier Avatar de cubepiege
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 161
    Points : 78
    Points
    78
    Par défaut requete - Where + comparaison de date
    Bonjour, voici une petite requête que je n'arrive pas à faire fonctionner.
    Il manque un bout quelque part.
    Il s'agit de comparer une date contenue dans un champ avec la date courante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     (SELECT matricule, nom, prenom, societe, posta1, personne.datemaj, contrats.debcnt, contrats.fincnt FROM personne, contrats
    	WHERE 
    		personne.lienpe = contrats.lienpe
    		personne.datemaj = select to_char(CURRENT_DATE,'YYYYMMDD');)
    Cela plante sur la deuxième clause WHERE 'personne.datemaj = ...'
    Exemple de contenu de datemaj dans la table personne: 20081013

    Merci de votre aide

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    De quel type est la colonne datemaj ? Date, entier, chaîne de caractères ?
    On dirait aussi qu'il manque des parenthèses : essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT matricule, nom, prenom, societe, posta1, personne.datemaj, contrats.debcnt, contrats.fincnt FROM personne, contrats
    	WHERE 
    		personne.lienpe = contrats.lienpe
    		personne.datemaj = (SELECT to_char(CURRENT_DATE,'YYYYMMDD'));
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre régulier Avatar de cubepiege
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 161
    Points : 78
    Points
    78
    Par défaut
    datemaj est de type "charactere(8)"

    Voilà le résultat de la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT matricule, nom, prenom, societe, posta1, personne.datemaj, contrats.debcnt, contrats.fincnt FROM personne, contrats
    	WHERE 
    		personne.lienpe = contrats.lienpe
    		personne.datemaj = (select to_char(CURRENT_DATE,'YYYYMMDD'));
    ERREUR: erreur de syntaxe sur ou près de « personne »
    LIGNE 4 : personne.datemaj = (select to_char(CURRENT_DATE,'YYYYMMDD'...
    ^

  4. #4
    Membre régulier Avatar de cubepiege
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 161
    Points : 78
    Points
    78
    Par défaut
    nan ok j'ai rien dit je suis un boulet et un peu fatigué
    j'ai oublié de mettre "and" dans ma clause where ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT matricule, nom, prenom, societe, posta1, personne.datemaj, contrats.debcnt, contrats.fincnt FROM personne, contrats
    	WHERE 
    		personne.lienpe = contrats.lienpe
    	  and personne.datemaj = (select to_char(CURRENT_DATE,'YYYYMMDD'));
    bye

  5. #5
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Citation Envoyé par cubepiege Voir le message
    nan ok j'ai rien dit je suis un boulet et un peu fatigué
    j'ai oublié de mettre "and" dans ma clause where ....
    je ne dis rien je ne l'avais pas vu non plus
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

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

Discussions similaires

  1. Requete avec comparaison avec la date du jour
    Par marpolo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/10/2009, 15h27
  2. Problème de requete avec comparaison de date
    Par crabe71 dans le forum Linq
    Réponses: 2
    Dernier message: 23/07/2009, 09h39
  3. [MySQL] Comparaison de date au format texte dans requete mysql
    Par doudoustephane dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 22/04/2008, 16h27
  4. Réponses: 3
    Dernier message: 18/09/2006, 20h55
  5. [Requete] Comparaison de date / Periode - tab. croisé. dyn
    Par Gronain dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/05/2006, 16h04

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