본문 바로가기

Programming/DB관련

DECODE 함수 (ORACLE)

DECODE 함수

- 오라클에서만 지원하는 함수로서 SELECT 문장 내에서 비교 연산을 수행

- 특정 컬럼의 값을 기준으로 마치 IF문을 사용하는 것과 같은 효과를 내는 함수

- 구문

DECODE({column | expression}, search1, result1 [,search2, result2] ... [,default])


- 예제

SELECT 

  DECODE(qnaType, '10', '타입1', '20', '타입2', '기타') as Type

FROM qnaTable





 => qnaTable에서 qnaType값이 10인 것은 '타입1', 20인 것은 '타입2', 나머지 값은 모두 '기타'로 

   출력됨을 확인 할 수 있다.






SUM함수와 함께 사용

- DECODE함수는 SUM함수와 함께 사용하여 합계를 출력하는데 사용 할 수도 있다.

- 예제

SELECT 

  SUM(DECODE( qnaType , '10', 1, 0)) 타입1,

  SUM(DECODE( qnaType , '20', 1, 0)) 타입2,

      SUM(DECODE( qnaType , '30', 1, '40', 1,  0)) 기타

FROM qnaTable



  



=> qnaTable의 qnaType 값에 따른 수를 출력해 준다.





'Programming > DB관련' 카테고리의 다른 글

DELETE, DROP, TRUNCATE의 비교  (0) 2013.04.24
Character Functions (문자형 함수)  (0) 2012.11.12
INNER JOIN & OUTER JOIN  (0) 2012.04.05
서브쿼리  (0) 2012.03.30
조인(Join) 쿼리  (0) 2012.03.30