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

COALESCE trong mệnh đề Where?

Câu trả lời @Blorgbeard (sử dụng top 1 và sắp xếp theo thứ tự) có lẽ là cách tốt nhất nhưng để khác đi, bạn cũng có thể sử dụng một truy vấn phụ và không tồn tại:

SELECT name FROM names 
WHERE (colA = @colA) OR (colA = 'ALL' AND NOT EXISTS(
                                                SELECT name FROM names 
                                                WHERE colA = @colA)) 

Tôi đoán "lợi thế" của điều này là nó sử dụng sql chuẩn 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. Chuyển một danh sách đến một Thủ tục được Lưu trữ TSQL 2008

  2. Tính Hash hoặc Checksum cho một bảng trong SQL Server

  3. 3 chữ số mã tiền tệ sang ký hiệu tiền tệ

  4. Các cột thưa thớt trong SQL Server:Ảnh hưởng đến thời gian và không gian

  5. Kết nối RStudio với SQL Server