DB/Oracle

[Oracle] CASE문 - CASE WHEN 표현식 사용법

콩다영 2021. 2. 19.
728x90

오라클 CASE문 사용법 - CASE WHEN THEN ELSE END 표현식 사용 방법

 

 

 

 

오라클에서 if문을 사용할 때 대게 DECODE 함수를 떠올릴 것이다.

하지만 DECODE 함수는 오라클 SQL에서만 사용할 수 있는 비표준함수이고 조건이 많아지면 복잡해지고 가독성이 떨어지는 단점을 갖고 있다 ㅠ_ㅠ ,,,

 

오라클에서 DECODE 함수 대신하여 쓸 수 있는 것이 CASE 표현식이다 !

CASE 문은 DECODE 함수보다 좀 더 확장적이며 가독성이 뛰어나다. 복잡한 조건을 따질 때는 CASE 표현식을 사용하는 것을 권장한다.   CASE문 사용 방법을 알아보자 !! :D

 

 

 


 

 

 

▷ CASE문 사용 방법

CASE문은 값이나 조건에 따라 다르게 결과값을 받아올 수 있다. 조건을 값으로 주냐 조건식으로 주냐에 따라 표현식이 조금 다르긴 한데 우선 조건식인 CASE WHEN THEN ELSE END 표현식을 살펴보자 !

[Oracle] CASE문 - CASE WHEN 표현식 사용법 - undefined - undefined - ▷ CASE문 사용 방법

CASE문에서 조건을 만족하지 않았을 시에는 NULL값을 리턴하기 때문에 ELSE문은 생략 가능하다.

Alias는 필요시에 해당 컬럼명을 넣어주면 된다. CASE 표현식은 SELECT 절, WHERE절,, 등에서 다양하게 사용되어진다.

WHEN THEN 뒤 조건식이나 리턴 값 부분에는 연산식이 들어가도 되니 응용해서 사용가능하다 !! :)

 

 

 

 

또한, 조건이 아니라 대상 값과 값을 비교하여 각각 다른 결과 값을 출력하고 싶을 때에는 표현식이 조금 다르다.

[Oracle] CASE문 - CASE WHEN 표현식 사용법 - undefined - undefined - ▷ CASE문 사용 방법

CASE 뒤에 대상 값을 넣어주고 조건식에 비교 값을 넣어주면 된다.

여기서도 ELSE문은 생략 가능하고 Alias는 필요함에 따라 END 뒤에 넣어주면 된당 !!

 

 

728x90
반응형

댓글