sql >> Database >  >> RDS >> Sqlserver

Een parameter met meerdere waarden omzetten in een tijdelijke tabel in SQL Server Business Intelligence Development Studio

Zoals gezegd heb je een soort split-functie nodig voor analyse van de prestaties van verschillende methoden Snaren op de juiste manier splitsen – of de op één na beste manier is uitstekend te lezen. Zodra u uw functie hebt, moet u uw queryparameter definiëren als een tekenreeks in plaats van een tabel:

Dus uw vraag zou eigenlijk worden:

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

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

Ga vervolgens naar de eigenschappen van uw dataset en in plaats van de parameter met meerdere waarden @pEmails door te geven naar de dataset, maak in plaats daarvan een nieuwe @pEmailString , en stel de waarde in als een uitdrukking, die zou moeten zijn:

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

Dit verandert uw parameter met meerdere waarden in een enkele door komma's gescheiden tekenreeks. Het lijkt nogal achterlijk dat je het moet converteren naar een begrensde string, om het vervolgens in SQL te splitsen, helaas ken ik geen betere manier.



  1. Spring boot Docker en Mysql . configureren

  2. Slaap optimistisch over ander gedrag tussen Postgres en MariaDb

  3. Oracle TNS:de naam van de netservice is onjuist opgegeven

  4. DISTINCT gebruiken in SQL