CASE
câu lệnh gần nhất với IF trong SQL và được hỗ trợ trên tất cả các phiên bản của SQL Server.
SELECT CAST(
CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END AS bit) as Saleable, *
FROM Product
Bạn chỉ cần sử dụng CAST
nếu bạn muốn kết quả là giá trị Boolean. Nếu bạn hài lòng với int
, điều này hoạt động:
SELECT CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END as Saleable, *
FROM Product
CASE
câu lệnh có thể được nhúng vào CASE
khác và thậm chí được đưa vào tổng hợp.
SQL Server Denali (SQL Server 2012) thêm câu lệnh IIF cũng có sẵn trong quyền truy cập (do Martin Smith chỉ ra):
SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product