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

Comment transmettre des variables aux clauses IN dans SQL : une solution de contournement utilisant FIND_IN_SET

Mary-Kate Olsen
Libérer: 2024-10-27 06:01:29
original
522 Les gens l'ont consulté

How to Pass Variables to IN Clauses in SQL: A Workaround Using FIND_IN_SET

Passer des variables aux clauses IN

Il peut être souhaitable de transmettre une variable contenant une liste de valeurs à une clause IN dans une instruction SQL . Cependant, cette fonctionnalité n'est pas intrinsèquement prise en charge dans certains langages de programmation. Cet article explore une solution de contournement à l'aide de la fonction FIND_IN_SET.

Exemple de scénario

Considérez la procédure stockée suivante avec une instruction SELECT :

<code class="sql">SELECT product_id, product_price
FROM product 
WHERE product_type IN ('AA','BB','CC');</code>
Copier après la connexion

Le l'objectif est de transmettre une seule variable, input_variables, contenant la chaîne de valeurs (« AA,BB,CC ») à la clause WHERE.

Utilisation de FIND_IN_SET

Pour Pour ce faire, transmettez la valeur du paramètre sous forme de chaîne séparée par des virgules : 'AA,BB,CC'. Ensuite, utilisez la fonction FIND_IN_SET :

<code class="sql">SELECT product_id, product_price
FROM product
WHERE FIND_IN_SET(product_type, param);</code>
Copier après la connexion

La fonction FIND_IN_SET renvoie 1 si la chaîne spécifiée est trouvée dans l'ensemble, et 0 si elle ne l'est pas. Par conséquent, la clause WHERE renvoie uniquement les lignes où la colonne product_type correspond à l'une des valeurs de la variable param.

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!