티베로(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' ) )