Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL Switch/Case in SQL Server 2008 R2

Here is my test T-SQL.

DECLARE @TestVal INT

SET @TestVal = 1

SELECT 
   CASE @TestVal
      WHEN (1 | 2 | 6) THEN 'First' // I would like to check 1 or 2 or 6.
      WHEN 3 THEN 'Second'
      WHEN 4 THEN 'Third'
      ELSE 'Other'
   END

The current result is 'Other'.

I would like to get the result as 'First'. How can I use (OR statement) in my T-SQL.

Best regards

like image 234
Lamin Avatar asked Dec 08 '25 06:12

Lamin


1 Answers

Use the condition form of case:

SELECT (CASE WHEN @TestVal IN (1, 2, 6) THEN 'First' 
             WHEN @TestVal = 3 THEN 'Second'
             WHEN @TestVal = 4 THEN 'Third'
             ELSE 'Other'
        END)
like image 56
Gordon Linoff Avatar answered Dec 11 '25 02:12

Gordon Linoff



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!