Maison > Article > base de données > Comment vérifier des numéros spécifiques dans un blob séparé par des virgules dans MySQL ?
Vérification des nombres dans un blob séparé par des virgules dans MySQL
Considérez le tableau suivant :
UID(int) | NUMBERS(blob) ---------------------- 1 | 1,13,15,20 2 | 3,10,15,20 3 | 3,15
Pour vérifiez si des nombres spécifiques (par exemple, 3 et 15) existent dans le blob NUMBERS, nous pouvons utiliser l'opérateur IN. Cet opérateur teste si une valeur est présente dans une chaîne séparée par des virgules.
Solution :
SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS)
Dans cette requête, l'opérateur IN est utilisé deux fois :
La requête renvoie des lignes uniquement si les deux conditions sont remplies. Par conséquent, seule la ligne 2 sera sélectionnée car elle contient à la fois 3 et 15 dans son blob NUMBERS.
Remarque supplémentaire :
Une autre variante de cette requête est :
SELECT * FROM table WHERE NUMBERS LIKE '%3%' AND NUMBERS LIKE '%15%'
Cependant, l'utilisation de LIKE %% n'est pas recommandée car elle peut entraîner des problèmes de performances avec des ensembles de données volumineux. L'opérateur IN est plus efficace pour ce type de contrôle.
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!