Valeurs de requête dans une chaîne séparée par des virgules dans MySQL
P粉763748806
2023-08-17 14:24:54
<p>J'ai un champ <code>COLORS (varchar(50))</code> dans ma table <code>SHIRTS</code> ,5,12,15,</code>. Chaque numéro représente une couleur disponible. </p>
<p>Lors de l'exécution de la requête <code>sélectionnez * parmi les chemises dont les couleurs sont telles que '%1%'</code> pour obtenir toutes les chemises rouges (couleur=1), j'obtiens également la couleur grise ( = 12) et chemises orange (=15). </p>
<p>Comment dois-je réécrire la requête pour qu'elle sélectionne uniquement toutes les couleurs portant la couleur 1 au lieu de toutes les couleurs contenant le chiffre 1 ? </p>
FIND_IN_SETest votre ami dans ce cas
La méthode classique consiste à ajouter des virgules sur les côtés gauche et droit :
Mais find_in_set fonctionne aussi :