T-SQL

Používání CASE ve WHERE

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

Leave a Reply

Your email address will not be published.