Gestion de plusieurs modèles de caractères génériques dans les requêtes MySQL LIKE
L'opérateur LIKE
de MySQL est inestimable pour la correspondance de modèles dans les colonnes de chaînes. Cependant, il lui manque un mécanisme intégré permettant de faire correspondre simultanément plusieurs modèles, contrairement à une hypothétique LIKE IN()
fonction.
Méthode 1 : Conditions OU multiples
Une stratégie efficace consiste à utiliser plusieurs OR
conditions :
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>
Cette approche vérifie directement chaque modèle individuellement, fournissant une solution claire et facilement compréhensible.
Méthode 2 : exploiter les expressions régulières
Pour les scénarios comportant de nombreux modèles, l'utilisation de plusieurs instructions OR
peut devenir fastidieuse. L'opérateur REGEXP
de MySQL offre une alternative plus compacte :
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.fiberBox REGEXP '1740|1938|1940';</code>
Le symbole |
agit comme un opérateur « ou » dans l'expression régulière, permettant une correspondance efficace de n'importe lequel des modèles répertoriés. Gardez cependant à l’esprit que les expressions régulières peuvent être plus gourmandes en ressources que de simples LIKE
comparaisons. Les tests de performances sont essentiels pour déterminer la méthode la plus efficace pour votre ensemble de données spécifique et la complexité de vos 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!