DBMS/Oracle 10g
상태표현(if, else조건)
본클라쓰
2008. 12. 20. 22:05
오라클 데이터베이스에서 IF-THAN-ELSE 논리를 사용하려면 다음과 같은 방법이 있습니다.
- CASE 표현
- DECODE 함수
CASE 표현
> SELECT column/expression
> CASE column
> WHEN 표현1 THEN 리턴1
> WHEN 표현2 THEN 리턴2
> ELSE 표현(else)
> END 표현할이름
> FROM tablename;
CASE다음에 오늘 컬럼에서 표현1를 찾으면 리턴1을 하고, 표현2를 찾으면 리턴2를 합니다. 비교할 표현이 없을 경우에는 ELSE표현값이 리턴됩니다.
※ 주 의 - THEN, ELSE 다음값에는 절대 NULL값이 들어갈 수 없습니다. 아무것도 할 수 없을 경우 오라클에서 NULL값을 리턴시키기 때문에 NULL값은 써서는 안됩니다.
DECODE 함수
함수의 형태로 IF-THEN-ELSE 놀리를 사용하며, 함수를 이용하기 때문에 간단합니다.
DECODE 함수 사용법
> SELECT column/expression,
> DECODE(column, 표현1, 리턴1, 표현2, 리턴2, else 표현) 표현할 이름
> FROM tablename;