sql >> Base de Datos >  >> RDS >> Sqlserver

Convertir un parámetro de varios valores en una tabla temporal en SQL Server Business Intelligence Development Studio

Como se ha dicho, necesita algún tipo de función dividida, para el análisis del rendimiento de varios métodos Dividir cadenas de la manera correcta, o de la siguiente mejor manera es una lectura excelente. Una vez que tenga su función, debe definir su parámetro de consulta como una cadena, en lugar de una tabla:

Entonces su consulta en realidad se convertiría en:

DECLARE @pEmails TABLE (EmailAddress varchar(255));

INSERT @pEmails (EmailAddress)
SELECT  Value
FROM    dbo.Split(@pEmallString);

Luego vaya a las propiedades de su conjunto de datos y, en lugar de pasar el parámetro multivalor @pEmails al conjunto de datos, en su lugar cree uno nuevo @pEmailString y establezca el valor como una expresión, que debería ser:

=Join(Parameters!pEmails.Value, ",")

Esto convierte su parámetro multivalor en una sola cadena delimitada por comas. Parece bastante al revés que necesita convertirlo en una cadena delimitada, solo para luego dividirlo en SQL, desafortunadamente no conozco una mejor manera.