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 MySQL Discussion :

Problématique soulevée par LIKE...


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut Problématique soulevée par LIKE...
    Bonjour à tous,

    [Préambule : j'ai parcouru les archives de ce forum]

    Je fait une recherche sur des champs texte à l'aide de l'opérateur LIKE.
    ==> SELECT colonne FROM table WHERE colonne LIKE '%mot%'

    Problème : cette requête remonte aussi bien "un mot de trop", que "un moteur d'avion".

    Du coup je fais plutôt :
    ==> SELECT colonne FROM table WHERE colonne LIKE '% mot %'

    Ainsi je remonte réellement les enregistrements qui comprennent le mot que je recherche. Mais alors je ne remonte plus les enregistrements qui commencent ou finissent par le mot que je recherche.
    "un mot de trop" remonte
    "un moteur d'avion" ne remonte pas, et c'est ok
    "mot d'amour" ne remonte pas, et c'est un pb
    "bouche à mot" ne remonte pas non plus, et c'est aussi un pb

    Alors à votre avis que faut-il faire pour remonter les enregistrements qui contiennent le mot exact, mais non pas des mots de la même racine ?

    Merci de votre aide,
    Quentin

  2. #2
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 49
    Par défaut
    je crois que tu peux faire

    SELECT colonne FROM table WHERE colonne LIKE '% mot %'
    OR colonne LIKE '% mot'
    OR colonne LIKE 'mot %'

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 32
    Par défaut
    ou alors utiliser les regex avec \b, le delimiteur de bordure de mots non ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    Merci pour vos deux réponses !
    Pour les regex dans le cadre d'une utilisation sql, tu sais où je peux trouver plus d'infos ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 32
    Par défaut
    cherche 'regex' dans le manuel sur le site officiel de mysql
    puis il te faudra bien sur des connaissances/cours/tutos sur les expressiosn regulieres si tu ne connais pas encore

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

Discussions similaires

  1. Recherche séquentielle par LIKE %
    Par JLC83 dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/07/2010, 15h40
  2. Réponses: 21
    Dernier message: 19/02/2010, 21h01
  3. Réponses: 21
    Dernier message: 19/02/2010, 21h01
  4. renvoyer les Mots complets identifiés par %LIKE%
    Par cactus_piquant dans le forum Requêtes
    Réponses: 7
    Dernier message: 13/02/2009, 11h53
  5. [SAX] Comment gerer les erreurs soulevés par sax
    Par tipaquo dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 03/07/2005, 12h00

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