A built-in function in the Oracle SQL library. Works similar to an inline IF-THEN-ELSE statement, allowing column values or expressions to be translated:

decode(EXPRESSION_1, VALUE_1, {EXPRESSION_2, VALUE_2, ... , VALUE_n})

EXPRESSION_1 is evaluated for true or false. If EXPRESSION_1 is true, VALUE_1 is returned; otherwise, EXPRESSION_2 is evaluated for true or false. If EXPRESSION_2 is true, VALUE_2 is returned, and so on. If all expressions evaluate to false, then VALUE_n is returned.

This is equivalent to writing in pseudocode:

if (EXPRESSION_1) then
VALUE_1
else
if (EXPRESSION_2) then
VALUE_2
else
VALUE_n
end if
end if

Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.