본문 바로가기
카테고리 없음

오라클 DECODE 함수 사용법

by cook_code 2023. 6. 7.
반응형

DECODE는 오라클 쿼리에서 자주 사용되는 함수 중 하나입니다. 

표준 SQL함수가 아니어서 ORACLE SQL에서만 사용가능합니다. 

CASE WHEN 구문과 같은 역할을 하기 때문에 두 가지 함수를 모두 소개해보려고 합니다. 

 

CASE WHEN 

IF문과 같이 조건을 체크하여 해당 조건마다 리턴값을 지정해주는 역할입니다. 

DECODE의 오라클 SQL에서만 사용될 수 있다는 한계를 보완해주는 표현식입니다. 

  • 형식
SELECT 
CASE WHEN '조건 THEN '리턴값'
ELSE '해당조건이없는경우리턴값'
END AS '결과테이블 컬럼값'
FROM 테이블명
  • 예제
SELECT
	CASE
		WHEN SAL_CD = '100001' THEN '기본급'
		WHEN SAL_CD = '100002' THEN '상여금'
		WHEN SAL_CD = '100003' THEN '특별상여금'
		WHEN SAL_CD = '100004' THEN '야근수당'
		WHEN SAL_CD = '100005' THEN '주말수당'
		WHEN SAL_CD = '100006' THEN '점심식대'
		WHEN SAL_CD = '100007' THEN '복지포인트'
		ELSE '유효하지 않음'
	END SAL_NM
	, A.SAL_CD
	, A.SAL_NM
FROM
		TB_SAL A;
  • 결과

 

DECODE

IF ELSE문과 같이 조건을 체크하여 해당 조건마다 리턴값을 지정해주는 역할입니다.

  • 형식
SELECT
DECODE('비교할 컬럼명', '조건1', '결과1', '조건2', '결과2)
FROM 테이블명;
  • 예제
SELECT
	DECODE(A.SAL_CD, '100001', '기본급', '100002', '상여금', '기타') AS SAL_NM
,
	A.SAL_CD,
	A.SAL_NM
FROM
	TB_SAL A;
  • 결과

 

반응형