Como foi dito, você precisa de algum tipo de função de divisão, para análise do desempenho de vários métodos Divida as strings da maneira certa – ou da próxima melhor maneira é uma excelente leitura. Depois de ter sua função, você precisa definir seu parâmetro de consulta como uma string, em vez de uma tabela:
Portanto, sua consulta se tornaria realmente:
DECLARE @pEmails TABLE (EmailAddress varchar(255));
INSERT @pEmails (EmailAddress)
SELECT Value
FROM dbo.Split(@pEmallString);
Em seguida, vá para as propriedades do conjunto de dados e, em vez de passar o parâmetro multivalor
@pEmails
para o conjunto de dados, em vez disso, crie um novo @pEmailString
, e defina o valor como uma expressão, que deve ser:=Join(Parameters!pEmails.Value, ",")
Isso transforma seu parâmetro de vários valores em uma única string delimitada por vírgulas. Parece muito ao contrário que você precisa convertê-lo em uma string delimitada, apenas para depois dividi-lo em SQL, infelizmente não conheço uma maneira melhor.