AToya
AToya

Reputation: 575

Switch Case in SQL Where Clause

I want to use some CASE WHEN statements inside a WHERE clause to allow for different WHERE criteria depending on a specific variable. I have an idea of how it looks like, but I just don't know if it's possible or what syntax to use.

I would like it to be used as such:

SELECT * FROM Table1
WHERE
CASE WHEN @var = 1 THEN ID = 5 END,
CASE WHEN @var = 2 THEN Name = 'Bob' END,
CASE WHEN @var = 3 THEN Color = 'Green'

Where for each instance of @var the WHERE condition is different. Any help is appreciated.

Upvotes: 2

Views: 709

Answers (1)

Sergey Kalinichenko
Sergey Kalinichenko

Reputation: 726929

You do not need a CASE for that:

SELECT * FROM Table1
WHERE
(@var = 1 AND ID = 5) OR
(@var = 2 AND Name = 'Bob') OR
(@var = 3 AND Color = 'Green')

Upvotes: 4

Related Questions