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 :

Utilisation de % à gauche de Like - Recherche de valeur de champ dans un String


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Utilisation de % à gauche de Like - Recherche de valeur de champ dans un String
    Bonjour à tous,

    Après avoir parcouru et recherché dans le forum, je n'ai pas trouvé ma réponse.

    Je cherche à savoir si jai le droit d'uiliser le motif % avec un Champ, du côté gauche de Like.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT id, nom, prenom 
    FROM personnes 
    WHERE UPPER( '%' || nom || '%') LIKE UPPER('une liste de noms avec martin, dupond, dupont...') ;
    Le but du jeu est de ressortir Martin, présent dans ma table personne.

    Après essai, cette requête ne fonctionne pas sur mon environnement (DB2), mais y a-t-il un moyen d'arriver au même résultat ?
    (Les fonctions db2 locate, posstr, position ne permettent pas de placer un champ dans leur paramètre searchString).

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 400
    Points
    28 400
    Par défaut
    La syntaxe de l'opérateur LIKE est Tu pourrais donc écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPPER('une liste de noms avec martin, dupond, dupont...') LIKE UPPER( '%' || TRIM(nom) || '%')

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse, mais apparemment, le moteur DB2 n'aime pas cette forme non plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Error: SQL0132N Un prédicat LIKE ou une fonction scalaire POSSTR n'est pas correct 
    car le  premier opérande n'est pas  une expression de type chaîne ou le second opérande 
    n'est pas une chaîne.  SQLSTATE=42824

Discussions similaires

  1. recherche de valeur non présentes dans une autre table
    Par omelhor dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/02/2015, 10h51
  2. Réponses: 5
    Dernier message: 13/06/2014, 14h14
  3. [MySQL] Rechercher avec valeur de champ texte
    Par xymagic dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/11/2011, 18h40
  4. [AC-2007] Relation entre deux requêtes pour rechercher une valeur de champs commune
    Par Debutant10 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 01/11/2011, 14h25
  5. Valeur des champs dans l'arbre des composants
    Par mymyma dans le forum JSF
    Réponses: 2
    Dernier message: 06/07/2006, 11h19

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