Dans SQL Server, une limitation courante survient lorsque l'on tente de transmettre une chaîne contenant plusieurs valeurs à une clause IN via une seule variable. Cela peut présenter des difficultés lors de l'interrogation conditionnelle de données sur la base d'un ensemble de valeurs.
Considérez la procédure stockée suivante avec une instruction SELECT :
SELECT product_id, product_price FROM product WHERE product_type IN ('AA','BB','CC');
L'objectif consiste à modifier cette requête pour accepter une variable contenant les valeurs séparées par des virgules.
La fonction FIND_IN_SET fournit une solution à ce problème. Cette fonction vérifie si une sous-chaîne spécifiée est trouvée dans une chaîne donnée. En utilisant cette fonction, vous pouvez réécrire la requête comme suit :
SELECT product_id, product_price FROM product WHERE FIND_IN_SET(product_type, param);
Ici, param représente la variable contenant les valeurs séparées par des virgules. Par exemple, si param contient la valeur « AA,BB,CC », la requête récupérera les lignes où la colonne product_type correspond à l'une de ces valeurs.
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!