Maison > Article > base de données > Comment passer une variable à une clause IN en SQL ?
Passer une variable à une clause IN
Pour passer une variable à une clause IN, vous pouvez utiliser la fonction FIND_IN_SET. Cette fonction vérifie si une valeur est présente dans une liste séparée par des virgules.
Par exemple, disons que vous disposez de la procédure stockée suivante qui sélectionne les informations sur le produit en fonction du type de produit :
SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');
Vous souhaitez transmettre les valeurs à la clause IN via une seule variable, telle que :
SELECT product_id, product_price FROM product WHERE product_type IN (input_variables);
Pour que cela fonctionne, vous pouvez transmettre la valeur du paramètre sous forme de chaîne séparée par des virgules, telle que 'AA, BB,CC'. Ensuite, utilisez la fonction FIND_IN_SET pour vérifier si le type de produit est présent dans la variable d'entrée :
SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);
Où "param" est le nom du paramètre qui contient la liste de valeurs séparées par des virgules. Cela renverra les produits dont le type correspond à l'une des valeurs de la variable d'entrée.
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!