SQL
DECODE
#
Find similar titles
- (rev. 6)
- 백인우
Structured data
- Category
- Database
DECODE #
DECODE 함수는 Oracle에서 지원하는 함수이다. 프로그래밍언어 CASE문 , MySQL의 If 문과 비슷한 방식의 기능으로서 비교값과 데이터값의 데이터를 비교 후 조건에 맞는 결과를 리턴한다.
사용법 #
- DECODE('컬럼명','조건',같을 시 결과 값,다를 시 결과 값)
- DECODE('컬럼명','조건1'.조건1 값,'조건2'.조건2 값,'조건3'.조건3 값...)
주의할 점 #
- GROUP BY 로 컬럼을 묶고 DECODE를 사용할때 주의점은 조건 대상과 결과값은 타입은 항상 같아야 한다.
- 컬럼의 타입은 TO_CHAR(),TO_DATA(),T0_NUMBER()등을 이용해 변환 시킬 수 있다.
사용 예제 #
# DECODE문
CODE = INCCO
SELECT CODE,
DECODE(CODE,'LG','엘지',
SM','삼성',INCO','인실리코젠'
) AS CODE
FROM dual;
결과값 CODE = '인실리코젠'이 출력된다.
비슷한 함수 예제 #
# CASE문
TOTAL = 85
SELECT TOTAL,
CASE WHEN TOTAL >= 95 THEN 'A'
WHEN TOTAL >= 85 AND TOTAL <75 THEN 'B'
WHEN TOTAL >= 75 AND TOTAL <65 THEN 'C'
WHEN TOTAL >= 65 AND TOTAL <55 THEN 'D'
ELSE 'F' END
FROM dual;
결과값 TOTAL = B 가 출력된다.
IF문
STOTAL = 85
IF TOTAL >=95 THEN 'A'
ELSEIF TOTAL >= 85 AND TOTAL <75 THEN 'B'
ELSE 'C'
END IF;
결과값 TOTAL = B 가 출력된다.