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

Thêm mệnh đề WHERE vào SQL động / lập trình

Bạn chỉ có thể thực hiện việc này trong sql, như thế này:

SELECT * 
FROM tUsers 
WHERE 1 = 1
  AND (@userID IS NULL OR RTRIM(Name) = @userID )
  AND (@password IS NULL OR RTRIM(Password) = @password)
  AND (@field2 IS NULL OR Field2 = @field2)
....

Nếu bất kỳ tham số nào được chuyển đến thủ tục được lưu trữ với NULL giá trị thì toàn bộ điều kiện sẽ bị bỏ qua.

Lưu ý rằng :Tôi đã thêm WHERE 1 = 1 để làm cho truy vấn hoạt động trong trường hợp không có tham số nào được truyền cho truy vấn và trong trường hợp này, toàn bộ tập kết quả sẽ được trả về, vì 1 = 1 luôn đúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng câu lệnh tạo để tạo bảng trong SQL Server - SQL Server / T- Hướng dẫn sử dụng SQL Phần 34

  2. SQL Server INFORMATION_SCHEMA Lượt xem | Xem nếu một bảng tồn tại

  3. Các hàm toán học của SQL Server (Danh sách đầy đủ)

  4. Cách xem nhiều truy vấn và kết quả song song trong SQL Server Management Studio (SSMS) - Hướng dẫn sử dụng SQL Server / TSQL Phần 14

  5. Cách xóa khoảng trắng hàng đầu trong SQL Server - LTRIM ()