DataBase/Oracle

[Oracle Database] Decode함수 사용법

mongyang 2013. 2. 13. 15:14

어느 정도 삽질을 하다가 살짝살짝 공부를 하고 있는 oracle의 세계는 참 신비롭다.

 

오라클에는 DECODE라는 기특한 녀석이 있다. 오라클에서만 된단다.

용도는 SELECT 구문 내에서 비교 연산을 수행해 주는 함수 이다. 

 

DECODE( 컬럼1, '홍길동', 1, 0 ) AS 블라블라

이런 방식인데 뜻은, 컬럼1이 홍길동과 같으면 1을 아니면 0의 값을 가진다.

 

또는 집계와 이중 사용도 가능하다. 

SUM(DECODE(컬럼1, '홍길동', 1, 0)) 

 

DECODE( 컬럼1, '홍길동', DECODE(컬럼2, '임꺽정', 1, 0), 3)

 

이런식이라고 할 수 있겠다. 2중 사용은 AND연산으로 수행된다는 거만 주의하면 된다.