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
---------
절대적인 값이 아닌 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
'프로그래밍 > DB' 카테고리의 다른 글
[펌]DECODE 이용사례 (4) - BETWEEN OPERATOR (0) | 2008.01.09 |
---|---|
[펌]DECODE를 이용하여 원치 않는 자료를 없애는 방법 (0) | 2008.01.09 |
[펌]TABLE의 RECORD 건수를 확인하는 방법 (0) | 2008.01.09 |
[펌]DATE의 기간을 계산하는 방법 (0) | 2008.01.09 |
[펌]문자 유형(한글/영문)을 판단하는 PL/SQL FUNCTION (0) | 2008.01.09 |