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; 

 

'DBMS > Oracle 10g' 카테고리의 다른 글

[JOIN] SELECT문을 이용해서 한개 이상의 TABLE에서 정보얻기  (0) 2008.12.21
그룹함수  (0) 2008.12.21
중첩함수와 일반함수  (0) 2008.12.20
변환함수(데이터타입의 변환)  (0) 2008.12.15
오라클 날짜 표현  (0) 2008.12.15