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 :

Traitement sur un champs de type Date


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut Traitement sur un champs de type Date
    Bonjour a vous tous,
    J'ai un petit souci au niveau d'une requête qui me demande d'afficher pour les 10 premier mois de l'année 2009 le nombre de disque achetés et leur prix moyen. C'est pour mes cours de bd

    Moi j'ai fais de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT COUNT(*), AVG(PrixVente)
    	FROM Disques
    	WHERE DateAchat BETWEEN EXTRACT(MONTH FROM DateAchat) = 1 
    	AND EXTRACT(MONTH FROM DateAchat) = 10
    	AND EXTRACT (YEAR FROM DateAchat) = 2009;
    mais postgres me donne une erreur

    ERREUR: l'opérateur n'existe pas >= boolean
    Ligne 3: WHERE DateAchat BETWEEN EXTRACT...

    Astuce : Aucun opérateur ne correspond au nom donné et au type d'argument.
    Vous devez ajouter des conversion explicites de type.

    Moi j'ai pas très très bien compris l'astuce car les champs utiliser son bien de type Date.
    Les champs utilisé son bien correct, je ne vois pas du tous comment faire.

    Je remercie par avance toute les personne qui pourront m'accorder un peu de leur temps en m'aidant a trouver la solution
    Merci
    Di Blasio Michael

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    La requête montrée est un mélange entre deux solutions entre lesquelles il faut choisir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE dateachat between date_debut AND date_fin
    OU BIEN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE extract(month from dateachat) between 1 and 10 AND extract(year from dateachat)=2009

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 92
    Points
    92
    Par défaut
    Je te remercie pour cette réponse
    Je viens de la tester et elle fonctionne très bien
    Merci A toi

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

Discussions similaires

  1. [WD17] calcul sur deux champs de type date
    Par indefini dans le forum WinDev
    Réponses: 1
    Dernier message: 02/09/2014, 22h45
  2. [CR XI] Affichage d'un groupe sur un champ de type date/heure
    Par juju05 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/03/2013, 11h30
  3. filtrer ma table sur un champ de type date
    Par Abou Zar dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2010, 18h22
  4. Recherche sur un champ de type Date avec Hibernate
    Par federator dans le forum Hibernate
    Réponses: 0
    Dernier message: 15/05/2010, 13h37
  5. requete sql avec between sur des champs de type Date
    Par ersoufiane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/08/2006, 19h43

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