CASE
pernyataan yang paling dekat dengan IF di SQL dan didukung di semua versi SQL Server.
SELECT CAST(
CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END AS bit) as Saleable, *
FROM Product
Anda hanya perlu menggunakan CAST
operator jika Anda ingin hasilnya sebagai nilai Boolean. Jika Anda senang dengan int
, ini berhasil:
SELECT CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END as Saleable, *
FROM Product
CASE
pernyataan dapat disematkan di CASE
lainnya pernyataan dan bahkan termasuk dalam agregat.
SQL Server Denali (SQL Server 2012) menambahkan pernyataan IIF yang juga tersedia di akses (ditunjukkan oleh Martin Smith):
SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product