Skip to content

SQL DECODE #
Find similar titles

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 가 출력된다.
0.0.1_20210630_7_v33