I have an SQL query similar to the following:
create procedure test
(
@param1 nvarchar(max)
)
as
begin
select * from table where column1 in (@param1)
I don't think the problem is in the values you are passing. @param1 is just a string.
You need to address this in your procedure. Your select statement will not be able to recognize the values in you IN clause. One solution is to take the comma-separated string and insert each record into a table variable Explained Here
If your table variable is table @param_list, you procedure test looks like:
create procedure test ( @param1 nvarchar(max) )
as begin
select * from table where column1 in (Select thefield from @param_list);
end