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

SQL:Mệnh đề IF trong mệnh đề WHERE

Sử dụng câu lệnh CASE
CẬP NHẬT: Cú pháp trước đó (như được chỉ ra bởi một số người) không hoạt động. Bạn có thể sử dụng CASE như sau:

WHERE OrderNumber LIKE
  CASE WHEN IsNumeric(@OrderNumber) = 1 THEN 
    @OrderNumber 
  ELSE
    '%' + @OrderNumber
  END

Hoặc bạn có thể sử dụng câu lệnh IF như @N. J. Reed chỉ ra.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bản ghi ngẫu nhiên từ một bảng cơ sở dữ liệu (T-SQL)

  2. Sửa đổi lịch biểu tác nhân SQL Server (T-SQL)

  3. Không thể bắt đầu một giao dịch phân tán

  4. Làm cách nào để tôi có thể lên lịch công việc để chạy truy vấn SQL hàng ngày?

  5. Ký hiệu dấu chấm trong SQL