Search

DECODE




    Decode will act as value by value substitution.
    For every value of field, it will checks for a match in a series of if/then tests.

    Syntax: decode (value, if1, then1, if2, then2, ……. else);

    Ex:
          SQL> select sal, decode(sal,500,'Low',5000,'High','Medium') from emp;

       SAL     DECODE
                                                 -----    ---------
       500           Low
      2500         Medium
      2000         Medium
      3500         Medium
      3000         Medium
      5000         High
      4000         Medium
      5000         High
      1800         Medium
      1200         Medium
      2000         Medium
      2700         Medium
      2200         Medium
      3200         Medium 

SQL> select decode(1,1,3), decode(1,2,3,4,4,6) from dual;


DECODE(1,1,3) DECODE(1,2,3,4,4,6)
-----------------  ------------------------
            3                      6

Ø  If the number of parameters are odd and different then decode will display
     nothing.
Ø  If the number of parameters are even and different then decode will display last
     value.
Ø  If all the parameters are null then decode will display nothing.
Ø  If all the parameters are zeros then decode will display zero.