How to pass a variable to a IN clause?

Thanu picture Thanu · Oct 29, 2012 · Viewed 34.4k times · Source

Lets say I have a SP that has a SELECT statements as follows,

SELECT product_id, product_price FROM product 
WHERE product_type IN ('AA','BB','CC');

But data goes to that IN clause must be through a single variable that contains the string of values. Something link below

SELECT product_id, product_price FROM product 
WHERE product_type IN (input_variables);

But its not working that way. Any idea how to do this?

Answer

Devart picture Devart · Oct 29, 2012

Pass parameter value like this - 'AA,BB,CC'. Then, it is enough to use FIND_IN_SET function -

SELECT product_id, product_price
FROM product
WHERE FIND_IN_SET(product_type, param);