!!!ORACLE CASE WHEN Functionality
The Oracle CASE..WHEN functionality may be invoked to provide very comprehensive decision making capability in derivation expressions, or other select statements.

!Functionality:
The CASE..WHEN logic may be invoked to return various values depending upon conditional logic built in to the expression.

Syntax:!
{{{
  CASE WHEN (expression 1) THEN value 1
       WHEN (expression 2) THEN value 2
        … etc …
       ELSE value n
  END
}}}

!Operations: 
You would typically provide two options here, one or more WHEN / THEN pairs and optionally an ELSE condition.  Note that the expressions do not need to reference the same variable set.

__The parentheses around each expression must be included, and the END keyword as well.__

The returned values in all cases should be of the same type.

!Example: 

Using the UEEF function, where AS OF date is field number ~[350005] we can ascertain if a passed date field occurs within the month specified by the As Of date, by using this case..when construct:

{{{
CASE WHEN (to_date(~,'DD-Mon-YYYY') between 
           trunc(to_date(~[350005],'DD-Mon-YYYY'),'MM') and  
               last_day(to_date(~[350005],'DD-Mon-YYYY')))
     THEN 'C'
     ELSE 'P'
END
}}}

!Breakdown of example:
{{trunc(to_date(~[350005],'DD-Mon-YYYY'),'MM')}}

(A)  This will take the passed As Of date and determine the first day of the month

{{last_day(to_date(~[350005],'DD-Mon-YYYY'))}}

(B)  This will take the passed As Of date and determine the last day of the month

{{CASE WHEN (to_date(~,'DD-Mon-YYYY') between (result A) and (result B)}}

(C) will evaluate the variable date used if it is between the first and last day of the month and then return ‘C’, otherwise ‘P’