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!