Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Przekształcanie parametru wielowartościowego w tabelę tymczasową w SQL Server Business Intelligence Development Studio

Jak już wspomniano, do analizy wydajności różnych metod potrzebna jest funkcja podziału Podziel ciągi we właściwy sposób – lub następny najlepszy sposób to doskonała lektura. Gdy masz już swoją funkcję, musisz zdefiniować parametr zapytania jako ciąg znaków, a nie tabelę:

Tak więc Twoje zapytanie faktycznie wyglądałoby następująco:

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

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

Następnie przejdź do właściwości zestawu danych i zamiast przekazywać parametr wielowartościowy @pEmails do zbioru danych, zamiast tego utwórz nowy @pEmailString i ustaw wartość jako wyrażenie, które powinno mieć postać:

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

Spowoduje to przekształcenie parametru wielowartościowego w pojedynczy ciąg rozdzielany przecinkami. Wydaje się dość wsteczne, że musisz przekonwertować go na rozdzielany ciąg, aby następnie podzielić go w SQL, niestety nie znam lepszego sposobu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przenieś jedną wartość wiersza do drugiej w SQL

  2. Eksplorowanie interfejsu graficznego magazynu zapytań SQL Server 2016

  3. Znajdź klucz podstawowy z jednej tabeli na liście oddzielonej przecinkami

  4. Architektura programu SQL Server AlwaysOn (grupa dostępności) i instalacja krok po kroku -1

  5. Połącz się z SQL Server 2008 za pomocą TCP/IP