Oracle

[ORACLE] DECODE 와 CASE문 사용법

솔솔 2021. 8. 24. 19:54
반응형

쿼리를 짜다보면 조건문을 사용해야할 때가 있습니다.

Oracle에서는 DECODE와 CASE문이 있습니다.

 

DECODE

  • 간단하게 TRUE / FALSE 값으로 구분 할 수 있는 조건문일 경우
  • SQL문으로만 사용 가능
  • 함수

1. 사용법

DECODE(컬럼, 조건, TRUE, FALSE);

2. 예제

-- USER_NAME이 홍길동이면 Y, 아니면 N
SELECT DECODE(USER_NAME, '홍길동', 'Y', 'N' ) 
FROM DUAL;

 

CASE

  • 조건에 따라 결과값 출력
  • SQL과 PL/SQL 사용 가능
  • Statement

1. 사용법

CASE WHEN 조건 THEN 조건에 해당할 경우의 값
ELSE 조건에 해당하지 않을 경우의 값
END

2. 예제

-- NAME이 고길동이면 '길동' / 둘리이면 '둘리' 둘 다 아니라면 '희동이' => 컬럼명은 NM
CASE 
	WHEN NAME == '고길동' THEN '길동'
	WHEN NAME == '둘리' THEN '둘리'
	ELSE '희동이'
END AS NM
반응형

'Oracle' 카테고리의 다른 글

[Oracle] 원하는 만큼 글자 혹은 숫자로 채우기  (0) 2021.04.07