sql >> Database teknologi >  >> RDS >> Sqlserver

Forvandling af en parameter med flere værdier til en midlertidig tabel i SQL Server Business Intelligence Development Studio

Som det er blevet sagt, har du brug for en form for split-funktion til analyse af ydeevnen af ​​forskellige metoder Opdel strenge på den rigtige måde – eller den næstbedste måde er fremragende læsning. Når du har din funktion, skal du definere din forespørgselsparameter som en streng i stedet for en tabel:

Så din forespørgsel ville faktisk blive:

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

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

Gå derefter til dine datasætegenskaber, og i stedet for at videregive multiværdiparameteren @pEmails til datasættet, skal du i stedet oprette en ny @pEmailString , og indstil værdien som et udtryk, som skal være:

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

Dette gør din flerværdiparameter til en enkelt kommasepareret streng. Det virker ret bagvendt, at du skal konvertere den til en afgrænset streng, for så at opdele den i SQL, jeg kender desværre ikke en bedre måde.



  1. PreparedStatement ignorerer parametre i forespørgslen:java.sql.SQLException:Parameterindeks uden for område (1> antal parametre, som er 0)

  2. Vis alle rækker i mysql-tabellen, og giv derefter mulighed for at slette specifikke

  3. skinner sorteres efter specifc rækkefølge

  4. Sådan finder du mest overlappende tidsperiode med datointervaller