====== DECODE Function - PL/HQL Reference ======
DECODE function allows you to implement IF-THEN-ELSE logic.
**Syntax:**
DECODE(expr, when_exp1, then_expr1 [, ...n] [, else_expr])
**Notes**:
* If //expr// is NULL it will match the first //when_exprN// that is NULL
* If //when_exprN// is not matched //then_exprN// is not evaluated
**Examples**:
DECLARE var1 INT DEFAULT 3;
PRINT DECODE (var1, 1, 'A', 2, 'B', 3, 'C'); -- Result: C
PRINT DECODE (var1, 1, 'A', 2, 'B', 'C'); -- Result: C
SET var1 = NULL;
PRINT DECODE (var1, 1, 'A', 2, 'B', NULL, 'C'); -- Result: C
**Compatibility:** Oracle, IBM DB2 and Teradata
**Version**: PL/HQL 0.3.1
See also:
* [[case|CASE Expression]]