Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Превръщане на параметър с множество стойности във временна таблица в SQL Server Business Intelligence Development Studio

Както беше посочено, имате нужда от някаква функция за разделяне за анализ на ефективността на различни методи Разделяйте низове по правилния начин – или следващия най-добър начин е отлично четиво. След като имате своята функция, трябва да дефинирате параметъра на заявката си като низ, а не като таблица:

Така че вашата заявка всъщност ще стане:

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

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

След това отидете на свойствата на вашия набор от данни и вместо да подадете многостойностния параметър @pEmails към набора от данни, вместо това създайте нов @pEmailString и задайте стойността като израз, който трябва да бъде:

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

Това превръща параметъра ви с множество стойности в низ, разделен със запетая. Изглежда доста назад, че трябва да го конвертирате в разделен низ, само за да го разделите в SQL, за съжаление не знам за по-добър начин.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкване на цялата DataTable в базата данни наведнъж вместо ред по ред?

  2. Последователност срещу идентичност

  3. Добавете колона към съществуваща таблица и ги номерирайте уникално в MS SQL Server

  4. Каква е най-добрата практика за вмъкване на запис, ако той все още не съществува?

  5. Преобразуване на ‘time’ в ‘datetime2’ в SQL Server (T-SQL примери)