Maison >base de données >tutoriel mysql >MySQL peut-il effectuer une recherche LIKE avec plusieurs modèles de caractères génériques ?

MySQL peut-il effectuer une recherche LIKE avec plusieurs modèles de caractères génériques ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-20 13:16:09298parcourir

Can MySQL Perform a LIKE Search with Multiple Wildcard Patterns?

LIKE de MySQL et plusieurs modèles de caractères génériques

Problème :

MySQL peut-il gérer efficacement LIKE les recherches englobant plusieurs modèles génériques ? Par exemple, rechercher simultanément des chaînes contenant « 40 % », « 38 % » et « 40 % ».

Solution :

MySQL n'offre pas de fonction LIKE IN() directe. Toutefois, une solution de contournement très efficace utilise des expressions régulières (REGEXP). Cela permet de faire correspondre plusieurs modèles au sein d'une seule requête :

<code class="language-sql">SELECT * FROM fiberbox WHERE field REGEXP '1740|1938|1940';</code>

Cette requête analyse la colonne fiberbox de la table field à la recherche de lignes contenant l'un des modèles spécifiés. Le symbole | (pipe) agit comme un opérateur « ou », correspondant à toute ligne où au moins un motif est présent.

Considérations relatives aux performances :

Les performances relatives de REGEXP par rapport à plusieurs instructions LIKE (par exemple, WHERE field LIKE '40%' OR field LIKE '38%' OR field LIKE '40%') dépendent fortement des données et de la requête spécifiques. Il est crucial de comparer les deux méthodes pour déterminer l'approche la plus efficace pour vos besoins particuliers en matière d'ensemble de données et de requêtes.

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