Maison >base de données >tutoriel mysql >Comment puis-je obtenir une correspondance de mots entiers dans les recherches MySQL ?

Comment puis-je obtenir une correspondance de mots entiers dans les recherches MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-14 06:13:48329parcourir

How Can I Achieve Whole Word Matching in MySQL Searches?

Recherches précises de mots clés dans MySQL à l'aide d'expressions régulières

Améliorer la précision de la recherche avec les expressions régulières

Pour une correspondance précise de mots entiers dans les requêtes MySQL, exploitez l'opérateur REGEXP en conjonction avec des marqueurs de limites de mots. Cela garantit que vos mots clés ne correspondent que lorsqu'il s'agit de mots indépendants, évitant ainsi les correspondances partielles au sein de mots plus grands.

Anciennes versions de MySQL (pré-8.0.4) :

<code class="language-sql">SELECT *
FROM table 
WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>

Les marqueurs [[:<:]] et [[:>:]] définissent les limites des mots.

MySQL 8.0.4 et versions ultérieures :

Les versions MySQL 8.0.4 et ultérieures utilisent un moteur d'expression régulière différent. L'approche recommandée consiste désormais à utiliser le marqueur de limite de mot standard b :

<code class="language-sql">SELECT *
FROM table 
WHERE keywords REGEXP '\brid\b'</code>

Notez la double barre oblique inverse (\) qui échappe au caractère barre oblique inverse. Ceci est crucial pour une interprétation correcte par le moteur MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn