!!!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’ ---- ![Notes|Edit:Internal.ORACLE+CASE+WHEN] [{InsertPage page='Internal.ORACLE+CASE+WHEN' default='Click to create a new notes page'}]