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

truyền một toán hạng dưới dạng tham số sql

Giả sử tất cả các số nguyên dương <2 tỷ, giải pháp này tránh nhiều truy vấn và SQL động. OPTION (RECOMPILE) giúp ngăn chặn việc kiểm tra thông số, nhưng điều này có thể không cần thiết tùy thuộc vào kích thước của bảng, cài đặt tham số hóa và cài đặt "tối ưu hóa cho khối lượng công việc đột xuất" của bạn.

WHERE [Amount] BETWEEN 
CASE WHEN @operand LIKE '<%' THEN 0
     WHEN @operand = '>' THEN @operant + 1
     ELSE @operant END
AND
CASE WHEN @operand LIKE '>%' THEN 2147483647
     WHEN @operand = '<' THEN @operant - 1
     ELSE @operant END
OPTION (RECOMPILE);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách khắc phục “Máy chủ không được định cấu hình cho RPC” Msg 7411 bằng T-SQL

  2. Nguy cơ của việc sử dụng 'IF EXISTS ... UPDATE .. ELSE .. INSERT' và giải pháp thay thế là gì?

  3. Cách tìm tất cả các đồ thị con được kết nối của một đồ thị vô hướng

  4. Ngoại lệ ngoài bộ nhớ trong SQL 2008

  5. Các phương pháp hay nhất để tuần tự hóa DateTime trong .NET 3.5