SELECT using 'CASE' in SQL

116,423

Solution 1

This is just the syntax of the case statement, it looks like this.

SELECT 
  CASE 
    WHEN FRUIT = 'A' THEN 'APPLE' 
    WHEN FRUIT = 'B' THEN 'BANANA'     
  END AS FRUIT
FROM FRUIT_TABLE;

As a reminder remember; no assignment is performed the value becomes the column contents. (If you wanted to assign that to a variable you would put it before the CASE statement).

Solution 2

Change to:

SELECT 
  CASE 
    WHEN FRUIT = 'A' THEN 'APPLE' 
    WHEN FRUIT = 'B' THEN 'BANANA'     
  END
FROM FRUIT_TABLE;

Solution 3

Try this.

SELECT 
  CASE 
     WHEN FRUIT = 'A' THEN 'APPLE'
     WHEN FRUIT = 'B' THEN 'BANANA'
     ELSE 'UNKNOWN FRUIT'
  END AS FRUIT
FROM FRUIT_TABLE;

Solution 4

which platform ?

SELECT 
  CASE 
    WHEN FRUIT = 'A' THEN 'APPLE' 
    ELSE FRUIT ='B' THEN 'BANANA' 
   END AS FRUIT     
FROM FRUIT_TABLE;
Share:
116,423
Vamshi
Author by

Vamshi

Updated on January 25, 2020

Comments

  • Vamshi
    Vamshi over 4 years

    I have a set of one to one mappings A -> apple, B-> Banana and like that.. My table has a column with values as A,B,C..

    Now I'm trying to use a select statement which will give me the direct result

    SELECT 
      CASE 
         WHEN FRUIT = 'A' THEN FRUIT ='APPLE' 
         ELSE WHEN FRUIT ='B' THEN FRUIT ='BANANA'     
     FROM FRUIT_TABLE;
    

    But I'm not getting the correct result, please help me..

  • Hogan
    Hogan over 10 years
    this won't have a column name.
  • Taryn
    Taryn over 10 years
    This could also be written with CASE FRUIT WHEN 'A'...
  • everton
    everton about 7 years
    Not a requirement
  • Mauro Candido
    Mauro Candido over 3 years
    I had to convert to Upper, because of the Case Sensitive and bingo.