티베로(Tibero) 오라클(Oracle)

[oracle] 오라클 decode 사용법 및 다중 decode

xemaker 2017. 5. 18. 18:25

decode 함수

decode(a,b,c,...d)

-값을 평가하여 임의의 값으로 변환

a: 원래식,

b: 변환전 실제값,

c: 변환후 값,

d: 어느것과 일치 하지 않을때 값


select decode(1,1,'success','error') as result from dual;

결과: success

이유: 첫번째 1하고 두번째 1하고 동일하니 세번째 값이 출력된다.


select decode(0,1,'success','error') as result from dual;

결과: error

이유: 첫번째 0하고 두번째 1하고 다르니 네번째 값이 출력된다.


** 값뿐만 아니라 컬럼을 이용할 수 있다.


select decode(dummy,'X','success','error') from dual;

결과: success

이유: dual 테이블 dummy 컬럼에는 X가 들어 있기 때문에 3번째 값 success가 출력된다.


**  decode안에 decode 사용이가능(다중 decode 사용가능)

decode( locale, 'ko', decode(unit_state, 1, '에이', 2, '비', '씨'), decode(unit_state, 1, 'a', 2, 'b', 'c' ) )