Pokud vynecháme případné záludnosti, které nám může přinést použití příkazu CASE ve WHERE podmínce, je to někdy nadmíru šikovná pomůcka, která najde své využití především v různých uložených procedurách používaných jako datové zdroje pro Reporting Services reporty, případně jako chytrá pomůcka aplikaci pro získání filtrovaných datových setů pro gridy a různé jiné ovládací prvky.
Jednoduchá ukázka jak na to syntakticky je zde:
SELECT *
FROM dbo.TestTable
WHERE Id = @Id AND
(
CASE
WHEN @Type = 'D' AND Cislo = @Id2 THEN 1
WHEN @Type = 'L' AND Cislo = @Id2 THEN 1
ELSE 0
END
) = 1
