Maîtriser les recherches insensibles à la casse avec l'opérateur LIKE de MySQL
L'opérateur LIKE
de MySQL est inestimable pour la correspondance de modèles dans les colonnes de la base de données. Cependant, sa nature sensible à la casse par défaut peut poser problème. Ce guide montre comment effectuer des recherches efficaces sans tenir compte de la casse.
Considérons une table nommée trees
avec une colonne title
stockant les noms des arbres. Pour trouver tous les arbres contenant « orme », une approche naïve comme celle-ci ne parvient pas à capturer toutes les variations :
<code class="language-sql">SELECT * FROM trees WHERE trees.title LIKE '%elm%';</code>
Cette requête est sensible à la casse et il manque des entrées avec des majuscules différentes (par exemple, "Elm", "ELM"). La solution réside dans l'utilisation des fonctions LOWER()
ou UPPER()
.
La fonction LOWER()
convertit la valeur de la colonne en minuscules avant la comparaison, permettant une correspondance insensible à la casse :
<code class="language-sql">SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%';</code>
Cette requête révisée récupère avec succès les enregistrements contenant « elm », « ELM » ou toute autre variante de casse. De manière équivalente, UPPER()
se convertit en majuscule pour le même effet. Choisissez la fonction qui correspond le mieux à vos besoins en matière 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!