I was wondering how I can pass either an ArrayList, List<int> or StringBuilder comma delimited list to a stored procedure such that I find a list of IDs using IN():
@myList varchar(50) SELECT * FROM tbl WHERE Id IN (@myList)
In C# I am currently building the list as a string which is comma delimeted; however when using nvarchar(50) for example, as the type for the param in the stored procedure – I get an error as it can’t convert ‘1,2,3’ to int which it expects between the IN().
Any ideas? Much appreciated.
Pete
You could use a User Defined function such as
Which accepts an nvarchar comma separated list of ids and returns a table of those ids as ints. You can then join on the returned table in your stored procedure like so –