IT

[Oracle] 오라클 DECODE와 CASE

정미나 2011. 1. 12. 15:38

DECODE
- IF...ELSEIF...ELSE와 같은 기능을 하는 SQL 함수

DECODE ( expr, search1, result1, search2, result2, ..., default_result )

expr의 결과가 search1이면 result1, search2이면 result2를 return
default_result는 생략 가능 (생략시 NULL로 대체됨)


CASE
- 기능적 측변에서 DECODE와 흡사하지만 좀 더 확장된 기능을 제공

[기본형]
CASE 대상값 WHEN 비교값1 THEN 처리1
                   WHEN 비교값2 THEN 처리2
                   ...
                   ELSE 디폴트 처리
END

[검색형]
CASE WHEN 비교조건1 THEN 처리1
         WHEN 비교조건2 THEN 처리2
         ...
         ELSE 디폴트 처리
END