CASE
instrukcja jest najbliższa IF w SQL i jest obsługiwana we wszystkich wersjach SQL Server.
SELECT CAST(
CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END AS bit) as Saleable, *
FROM Product
Wystarczy użyć CAST
operator, jeśli chcesz, aby wynik był wartością logiczną. Jeśli jesteś zadowolony z int
, to działa:
SELECT CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END as Saleable, *
FROM Product
CASE
instrukcje mogą być osadzone w innych CASE
oświadczenia, a nawet zawarte w agregatach.
SQL Server Denali (SQL Server 2012) dodaje instrukcję IIF, która jest również dostępna w dostępie (wskazane przez Martina Smitha):
SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product