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

SQL Oracle Discussion :

Retrouver un mot entier dans un chaine (même en bout)


Sujet :

SQL Oracle

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Points : 1 385
    Points
    1 385
    Par défaut Retrouver un mot entier dans un chaine (même en bout)
    J'ai besoin de retrouver les lignes contenant un mot entier. En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from maTable where description like ' %MOT% '
    je récupère presque tout. Il me manque les descriptions commençant ou finissant par "MOT" (ex : "MOT truc"). Je ne veux pas récupérer les descriptions du genre "grandMOT" ou "MOTlong", donc je ne peux pas fait un "LIKE '%MOT%'".

    Quelqu'un a une idée ?

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Quelle version d'Oracle ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Points : 1 385
    Points
    1 385
    Par défaut
    J'oublie toujours de la spécifier : 9
    Donc pas d'expression régulière.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Points : 1 385
    Points
    1 385
    Par défaut
    J'ai trouvé un truc qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM maTable WHERE ' '||description||' ' LIKE ' %MOT% '

  5. #5
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Attention le % indique n'importe quel(s) caractère(s), donc 'aa grandMOT ab' sortira dans ta requete.

    Voici la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM maTable 
    WHERE INSTR(' '|| description ||' ', ' MOT ') > 0
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM maTable 
    WHERE ' '|| description ||' ' LIKE '% MOT %'

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Points : 1 385
    Points
    1 385
    Par défaut
    Oups !

    Merci.

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

Discussions similaires

  1. [RegEx] preg_match : recherche d´un mot entier dans une chaine
    Par iOops dans le forum Langage
    Réponses: 7
    Dernier message: 04/04/2011, 15h34
  2. [SQL] Retrouver un mot complet dans une chaine
    Par Christophe P. dans le forum SQL
    Réponses: 21
    Dernier message: 06/09/2007, 15h16
  3. inserer un entier dans une chaine de caractere
    Par thonyitii dans le forum C
    Réponses: 11
    Dernier message: 02/01/2007, 22h00
  4. Premiere occurence d'un entier dans une chaine
    Par amika dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2006, 20h04
  5. Réponses: 10
    Dernier message: 10/10/2005, 20h46

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