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 표현식을 살펴보자 !

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

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

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

 

 

 

 

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

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

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

 

 

728x90
반응형

댓글