CASE
sætningen er tættest på IF i SQL og understøttes på alle versioner af SQL Server.
SELECT CAST(
CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END AS bit) as Saleable, *
FROM Product
Du behøver kun at bruge CAST
operator, hvis du vil have resultatet som en boolsk værdi. Hvis du er tilfreds med en int
, dette virker:
SELECT CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END as Saleable, *
FROM Product
CASE
sætninger kan indlejres i andre CASE
udsagn og endda inkluderet i aggregater.
SQL Server Denali (SQL Server 2012) tilføjer IIF-sætningen, som også er tilgængelig i adgang (påpeget af Martin Smith):
SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product