Som sagts behöver du någon form av delad funktion, för analys av prestanda för olika metoder Dela strängar på rätt sätt – eller näst bästa sätt är en utmärkt läsning. När du har din funktion måste du definiera din frågeparameter som en sträng, snarare än en tabell:
Så din fråga skulle faktiskt bli:
DECLARE @pEmails TABLE (EmailAddress varchar(255));
INSERT @pEmails (EmailAddress)
SELECT Value
FROM dbo.Split(@pEmallString);
Gå sedan till dina datauppsättningsegenskaper och istället för att skicka flervärdesparametern @pEmails
till datasetet, skapa istället en ny @pEmailString
, och ställ in värdet som ett uttryck, vilket ska vara:
=Join(Parameters!pEmails.Value, ",")
Detta förvandlar din flervärdesparameter till en enda kommaavgränsad sträng. Det verkar ganska bakvänt att du behöver konvertera den till en avgränsad sträng, bara för att sedan dela upp den i SQL, tyvärr vet jag inte något bättre sätt.