DECODE 는 equal연산 밖에 안된다.
equal이외의 연산을 사용할때엔 CASE WHEN을 사용한다.
.DECODE
Select
Ename,
Dno,
Decode(Dno,
10,'ACCOUNTING',
20,'Research',
30,'sales',
40,'operations',
'Default') As Dname
From Employee
order by dno;
default값을 설정하지 않으면 null이 설정된다.
디폴트값을 입력하도록 해주자..( 오류의 위험.)
Select
Ename,
Dno,
Case
When Dno >= 40 Then 'OPERATIONS'
When Dno >= 30 Then 'SALES'
When Dno >= 20 Then 'RESEARCH'
When Dno >= 10 Then 'ACCOUNTING'
ELSE 'DEFAULT'
END
From Employee
order by dno;
'나는 엔지니어 > ORACLE' 카테고리의 다른 글
group (0) | 2012.06.15 |
---|---|
Months_Between/Add_Months/Last_Day (0) | 2012.06.15 |
ROUND / TRUNC / MOD 반올림과 버림 그리고 나머지값 구하기 (0) | 2012.06.15 |
Lpad / Rpad 공백 지정문자 채우기 (0) | 2012.06.14 |
Instr 문자 찾기 (0) | 2012.06.14 |