Come è stato affermato, è necessaria una sorta di funzione di divisione, per l'analisi sulle prestazioni di vari metodi Dividi le stringhe nel modo giusto o nel modo migliore successivo è un'ottima lettura. Una volta che hai la tua funzione, devi quindi definire il tuo parametro di query come una stringa, piuttosto che una tabella:
Quindi la tua domanda diventerebbe effettivamente:
DECLARE @pEmails TABLE (EmailAddress varchar(255));
INSERT @pEmails (EmailAddress)
SELECT Value
FROM dbo.Split(@pEmallString);
Quindi vai alle proprietà del tuo set di dati e invece di passare il parametro multivalore @pEmails
al dataset, creane invece uno nuovo @pEmailString
e imposta il valore come espressione, che dovrebbe essere:
=Join(Parameters!pEmails.Value, ",")
Questo trasforma il tuo parametro multivalore in una singola stringa delimitata da virgole. Sembra piuttosto indietro che devi convertirlo in una stringa delimitata, solo per poi dividerlo in SQL, sfortunatamente non conosco un modo migliore.