PURPOSE
---------

절대적인 값이 아닌 A와 B 사이의 값과 같은 range에 따른 값에 따라
DECODE function을 이용할 수 있을까? 이미 BETWEEN A AND B가 사용되지
못함을 경험했을 것이다.


Explanation
-------------

Emp table에서 2000과 4000사이의 값을 `2000~4000`로 4001과 5000
사이의 값을 `4001~5000`로 나머지 값들은 `other`로 display하고자 한다.


범위           Decode
-------------  ------
2000 - 4000     2000~4000
4001 - 5000     4001~5000
default         other


Example
---------

  select  empno, ename, sal,
          DECODE(sal, GREATEST(LEAST(sal, 4000), 2000), `2000~4000`,
                      GREATEST(LEAST(sal, 5000), 4001), `4001~5000`,
                      `other`)
          from emp;

           EMPNO ENAME                  SAL DECODE(SA
--------------- ---------- --------------- ---------
            7369 SMITH                  800 other
            7499 ALLEN                 1600 other
            7521 WARD                  1250 other
            7566 JONES                 2975 2000~4000
            7654 MARTIN                1250 other
            7698 BLAKE                 2850 2000~4000
            7782 CLARK                 2450 2000~4000
            7788 SCOTT                 3000 2000~4000
            7839 KING                  5000 4001~5000
            7844 TURNER                1500 other
            7876 ADAMS                 1100 other
            7900 JAMES                  950 other
            7902 FORD                  3000 2000~4000
            7934 MILLER                1300 other