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

Có thể sử dụng tham số truy vấn để điền từ khóa IN không

Bạn có thể chuyển danh sách các GUID dưới dạng tham số chuỗi được phân tách bằng dấu phẩy và sử dụng UDF có giá trị bảng để chia chúng thành một bảng để sử dụng trong IN của bạn mệnh đề:

SELECT *
FROM my_table
WHERE id IN (SELECT id FROM dbo.SplitCSVToTable(@MyCSVParam))

Erland Sommarskog có bài viết thú vị với các ví dụ về cách chia các chuỗi được phân tách bằng dấu phẩy thành các bảng bằng UDF.

(Vì lý do hiệu suất, bạn nên đảm bảo rằng UDF của bạn có giá trị trong bảng nội tuyến, thay vì nhiều câu lệnh.)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi sắp xếp cơ sở dữ liệu SQL Server

  2. Thiết lập cơ sở dữ liệu SQL Server cục bộ

  3. Nhiều câu lệnh INSERT so với một câu lệnh INSERT với nhiều GIÁ TRỊ

  4. Loại bỏ dấu vết:ký tự khỏi một hàng trong bảng SQL

  5. chèn sql vào bảng với các giá trị chữ hoa đầu tiên được chọn