Imagine a table with GUIDs as primary key. I would like to select a few of these rows based on their primary key. I would like to use a query like:
SELECT *
You could pass the list of GUIDs as a comma-separated string parameter and use a table-valued UDF to split them into a table to use in your IN
clause:
SELECT *
FROM my_table
WHERE id IN (SELECT id FROM dbo.SplitCSVToTable(@MyCSVParam))
Erland Sommarskog has an interesting article with examples of how to split comma-separated strings into tables using a UDF.
(For performance reasons, you should ensure that your UDF is inline table-valued, rather than multi-statement.)