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

Requêtes PostgreSQL Discussion :

Problème like sur zone character varying


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 489
    Points : 171
    Points
    171
    Par défaut Problème like sur zone character varying
    Bonjour,

    Je cherche à faire une requête assez simple, mais je n'arrive pas à effectuer le LIKE.

    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT(*) FROM notification WHERE idcompte = 20 AND datefinvalidite > '2012-06-28' AND action LIKE CAST('3%' AS text)
    Au début, j'ai essayé sans le CAST, mais ça ne marchait pas non plus.

    la zone "action" est défini comme character varying(3)

    voici le message obtenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PreparedStatementCallback; bad SQL grammar [SELECT COUNT(*) FROM notification WHERE idcompte = ? AND datefinvalidite > ? AND action LIKE CAST('3%' AS text)]; nested exception is org.postgresql.util.PSQLException: ERREUR: l'opérateur n'existe pas : character varying = bigint
      Hint: Aucun opérateur ne correspond au nom donné et aux types d'arguments.
    Vous devez ajouter des conversions explicites de type.
    Auriez-vous une solution ?

    Merci

    Vince

  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
    Rien n'indique que l'erreur viendrait du like, et d'ailleurs le test suivant passe sans erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    create table exemple(action varchar(3));
    select count(*) from exemple where action like cast('3%' as text);
    Comme le message d'erreur de postgresql est:
    ERREUR: l'opérateur n'existe pas : character varying = bigint
    il faudrait plutôt regarder la partie de la requête où le signe égal est utilisé, c.a.d idcompte = 20
    Si idcompte est du type texte au lieu d'être numérique par exemple, l'erreur s'expliquerait.

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

Discussions similaires

  1. problème de time zone sur talend
    Par xavier81 dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 04/02/2011, 09h52
  2. [AC-2003] problème curseur sur zone de texte
    Par NANOUSUN dans le forum IHM
    Réponses: 1
    Dernier message: 02/04/2010, 18h59
  3. Problème de liens sur zones image
    Par ninetteàlaplage dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/03/2010, 16h13
  4. [AC-2007] Problème et question sur zone liste pour projet
    Par amartik dans le forum IHM
    Réponses: 1
    Dernier message: 20/01/2010, 20h32
  5. Requête LIKE : problème incompréhensible sur [A-Z]
    Par guidav dans le forum Développement
    Réponses: 9
    Dernier message: 03/07/2008, 16h46

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