DECODE scalar function
The DECODE function compares each expression2 to expression1. If expression1 is equal to expression2, or both expression1 and expression2 are null, the value of the result-expression is returned. If no expression2 matches expression1, the value of else-expression is returned. Otherwise a null value is returned.
The schema is SYSIBM.
The DECODE function is similar to the CASE expression, with the exception of how DECODE handles null values:
- A null value in expression1 will match a corresponding null value in expression2.
- If the NULL keyword is used as an argument in the DECODE function, it must be cast to a data type that is appropriate for comparison.
An argument of DECODE must not represent an array value.
The rules for determining the result type of the result of the DECODE function are based on the corresponding CASE expression.
The following table shows equivalent DECODE functions and CASE expressions. Both the DECODE function and the corresponding CASE expression achieve the same result.
DECODE function | CASE expression | Notes |
---|---|---|
|
|
|
|
|
The values of c1, var1, and var2 can be null values. |
|
|