Maison > base de données > tutoriel mysql > le corps du texte

Voici quelques options de titre, chacune mettant l'accent sur un aspect légèrement différent du problème : **Option 1 : Se concentrer sur les limites** * **Comment puis-je transmettre plusieurs valeurs à une clause IN dans SQL Server ?** **Ô

Mary-Kate Olsen
Libérer: 2024-10-25 13:29:02
original
457 Les gens l'ont consulté

Here are a few title options, each emphasizing a slightly different aspect of the problem:

**Option 1:  Focus on Limitations**
* **How Can I Pass Multiple Values to an IN Clause in SQL Server?**

**Option 2:  Focus on the Solution**
* **Using FIND_IN_SET

Passer des variables à la clause IN

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.

Énoncé du problème

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');
Copier après la connexion

L'objectif consiste à modifier cette requête pour accepter une variable contenant les valeurs séparées par des virgules.

Solution

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);
Copier après la connexion

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.

Remarque :

  • Assurez-vous que la valeur du paramètre est transmise sous forme de chaîne unique avec des valeurs séparées par des virgules (« AA,BB,CC »).
  • La fonction FIND_IN_SET n'est pas prise en charge dans tous les systèmes de bases de données. Par conséquent, il est recommandé de vérifier la compatibilité avant de mettre en œuvre cette solution.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!