Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chuyển một tham số nhiều giá trị thành một bảng tạm thời trong SQL Server Business Intelligence Development Studio

Như đã nói, bạn cần một số loại hàm tách để phân tích hiệu suất của các phương pháp khác nhau Chia chuỗi đúng cách - hoặc cách tốt nhất tiếp theo là một bài đọc xuất sắc. Khi bạn đã có chức năng của mình, bạn cần xác định tham số truy vấn của mình dưới dạng một chuỗi, thay vì một bảng:

Vì vậy, truy vấn của bạn thực sự sẽ trở thành:

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

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

Sau đó, chuyển đến thuộc tính tập dữ liệu của bạn và thay vì chuyển tham số đa giá trị @pEmails vào tập dữ liệu, thay vào đó hãy tạo một tập mới @pEmailString và đặt giá trị dưới dạng một biểu thức, phải là:

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

Điều này biến tham số nhiều giá trị của bạn thành một chuỗi được phân tách bằng dấu phẩy. Có vẻ như ngược lại, bạn cần phải chuyển đổi nó thành một chuỗi được phân tách, chỉ sau đó tách nó trong SQL, tiếc là tôi không biết cách nào tốt hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chỉ chọn một phần của tệp nhị phân khổng lồ (tệp)?

  2. SQL Management Studio và TFS

  3. Giới thiệu Tính năng mới - Báo cáo tăng trưởng cơ sở dữ liệu đám mây Spotlight

  4. Làm cách nào để thực hiện IF ... THEN trong SQL SELECT?

  5. Tôi có thể kết nối với Máy chủ SQL bên ngoài mạng của tôi không?