Maison >base de données >tutoriel mysql >Comment puis-je effectuer plusieurs recherches de chaînes à l'aide de find_in_set de MySQL ?

Comment puis-je effectuer plusieurs recherches de chaînes à l'aide de find_in_set de MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-11 19:51:47291parcourir

How Can I Perform Multiple String Searches Using MySQL's find_in_set?

Techniques de recherche multi-chaînes pour la fonction MySQL find_in_set

Question :

La fonction find_in_set de MySQL peut rechercher une seule chaîne dans une collection CSV (valeurs séparées par des virgules). Mais comment tirer parti de ses capacités pour rechercher plusieurs chaînes en même temps ?

Réponse :

Bien que MySQL ne dispose pas de fonctions natives pour prendre en charge la recherche multi-chaînes, vous pouvez utiliser les techniques suivantes :

<code class="language-sql">WHERE CONCAT(",", `setcolumn`, ",") REGEXP ",(val1|val2|val3),"</code>

Cette méthode concatène la collection CSV cible avec des virgules, y compris des virgules de début et de fin. Ensuite, vérifiez si la chaîne résultante correspond à un modèle de chaîne de recherche souhaité séparé par un symbole barre verticale (|). Par exemple :

<code class="language-sql">WHERE CONCAT(",", `tags`, ",") REGEXP ",(red|green|blue),"</code>

Cette requête renverra les lignes où la colonne tags contient l'une des valeurs "rouge", "vert" ou "bleu".

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