The syntax for the case statement is:
CASE [ expression ]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result
END
Expression is optional. It is the value that you are comparing to the list of conditions. (ie: condition_1, condition_2, ... condition_n)
Condition_1 to Condition_n must all be the same datatype. Conditions are evaluated in the order listed. Once a condition is found to be true,
the case statement will return the result and not evaluate the conditions any further.
Result_1 to Result_n must all be the same datatype. This is the value returned once a condition is found to be true.
Source: http://www.techonthenet.com/oracle/functions/case.php