Maison  >  Article  >  base de données  >  Comment passer une variable à une clause IN en SQL ?

Comment passer une variable à une clause IN en SQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 12:45:02464parcourir

How to pass a variable to an IN clause in 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!

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