OVH Cloud OVH Cloud

Recherche de mots entiers

2 réponses
Avatar
joeltanter
Bonjour,

J'ai des problèmes pour mettre en oeuvre une requête me permettant
d'extraire des données qui contiennent un mot entier déterminé.

Par exemple à l'aide d'un SELECT, je voudrais retrouver toutes les
lignes qui ont dans MON_CHAMP le mot 'Lisa'. Mais je ne veux pas les
les lignes qui contiennent 'Elisabeth' ni 'lisa'

J'ai essayé un truc du style :

SELECT MON_CHAMP FROM MY_TABLE WHERE MON_CHAMP LIKE
'%[^A-Za-z0-9]Lisa[^A-Za-z0-9]%' OR MON_CHAMP LIKE 'Lisa[^A-Za-z0-9]%'
OR MON_CHAMP LIKE '%[^A-Za-z0-9]Lisa'

mais bon ... c'est pas terrible et ça gère pas la casse (à moins que
ce soit du au classement que j'utilise : French_CI_AS ?)

Merci de m'apporter vos lumières :-)

2 réponses

Avatar
Laurent Moreau
Comme cela je pense:

SELECT MON_CHAMP FROM MY_TABLE WHERE MON_CHAMP LIKE
'%_[^A-Za-z0-9]Lisa_[^A-Za-z0-9]%'

Je pense que les OR sont inutiles car les cas debut ou fin sont compris dans
celui-ci.

Je n'ai pas testé.


Laurent.




"JoelTanter" wrote in message
news:
Bonjour,

J'ai des problèmes pour mettre en oeuvre une requête me permettant
d'extraire des données qui contiennent un mot entier déterminé.

Par exemple à l'aide d'un SELECT, je voudrais retrouver toutes les
lignes qui ont dans MON_CHAMP le mot 'Lisa'. Mais je ne veux pas les
les lignes qui contiennent 'Elisabeth' ni 'lisa'

J'ai essayé un truc du style :

SELECT MON_CHAMP FROM MY_TABLE WHERE MON_CHAMP LIKE
'%[^A-Za-z0-9]Lisa[^A-Za-z0-9]%' OR MON_CHAMP LIKE 'Lisa[^A-Za-z0-9]%'
OR MON_CHAMP LIKE '%[^A-Za-z0-9]Lisa'

mais bon ... c'est pas terrible et ça gère pas la casse (à moins que
ce soit du au classement que j'utilise : French_CI_AS ?)

Merci de m'apporter vos lumières :-)


Avatar
Jean-Yves
Merci Laurent.

J'ai testé, ça ne marche pas :-(

"Laurent Moreau" a écrit dans le message
de news:chpq8i$g7n$
Comme cela je pense:

SELECT MON_CHAMP FROM MY_TABLE WHERE MON_CHAMP LIKE
'%_[^A-Za-z0-9]Lisa_[^A-Za-z0-9]%'

Je pense que les OR sont inutiles car les cas debut ou fin sont compris


dans
celui-ci.

Je n'ai pas testé.


Laurent.