무병이
무병이개발일기
무병이
전체 방문자
오늘
어제
  • 모든 (17)
    • DATABASE (15)
      • MYSQL (0)
      • ORACLE (11)
      • POSTGRE (3)
    • Study (0)
      • 게시판 만들기 (0)
    • back-end (Web) (1)
      • Spring-Project (sts3) 셋팅 (0)
      • 정리 (1)
    • 프로젝트 (0)
      • 도서관리프로그램 (0)

티스토리

hELLO · Designed By 정상우.
무병이
DATABASE/ORACLE

Oracle - Decode

Oracle - Decode
DATABASE/ORACLE

Oracle - Decode

2022. 3. 15. 13:44

DECODE = if/else 와 비슷한 기능을 수행한다.

 

실습 환경

Windows 10

Oracle 11g Express Edition Release 11

Oracle SQL Developer 

Database ( hr ) - hr 테이블은 오라클에서 지원하는 테이블입니다.


DECODE 문법 

DECODE(column , 조건1 , 결과1 , 조건2 , 결과2 , default)

DECODE는 지정한 column의 조건에 따라 결과를 출력해준다 / 둘다 조건에 맞지 않으면 default에 넣어준 값이 나온다.

 

DECODE 을 사용한 예제 1

SELECT JOB_ID , DECODE(JOB_ID , 'IT_PROG' , '아이티프록' , 'FI_ACCOUNT' , '에프아이어카운트' , '기타') 
AS TEST_DECODE FROM employees;

JOB_ID 컬럼의 데이터가 IT_PROG 라면 아이티프록 / FI_ACCOUNT 라면 에프아이어카운트' / 둘다 아니라면 기타 값을 출력하게 해주는 예제이다. 

 

DECODE 을 사용한 예제 1 결과 값

 

DECODE 을 사용한 예제 2

SELECT JOB_ID , DECODE(JOB_ID , 'IT_PROG' , '아이티프록' , 'FI_ACCOUNT' , '에프아이어카운트') 
AS TEST_DECODE FROM employees;

위 예제와 비슷하지만 default값을 지정해주지 않았다 그럴 경우는 default값이 null로 표기된다.

 

DECODE 을 사용한 예제 2 결과 값

 

DECODE 을 사용한 예제 3

SELECT commission_pct , DECODE(commission_pct,NULL,'0000','9999') 
AS DECODE_TEST FROM employees;

DECODE문법을 NVL2처럼 사용하는 코드이다.

지정한 컬럼의 데이터가 NULL이라면 결과1 / NULL이 아니라면 결과2 값이 나오게 된다.

 

DECODE 을 사용한 예제 3 결과 값

 

DECODE 을 사용한 예제 4

SELECT salary , job_id , DECODE(salary , 24000 , DECODE(job_id , 'AD_PRES' , '아이티프록'),'알수없음') 
AS TEST_DECODE FROM employees;

위 코드는 중첩 DECODE를 활용한 코드다.

코드를 살펴보면 salary 컬럼에서 24000을 기준을 잡는다 그리고 한번더 DECODE를 실행한다.

job_id가 AD_PRES 라면 아이티프록 이라고 출력하고 

둘다 아닌경우 알수없음 이라고 표기하라고 되어있다.

 

DECODE 을 사용한 예제 4 결과 값

 

DECODE 을 사용한 예제 5

SELECT salary , DECODE(salary , 9000 , salary * 100) 
AS DECODE_TEST FROM employees;

위 코드는 결과 값에 연산처리 하도록 코드를 줬다 

 

DECODE 을 사용한 예제 5 결과 값

'DATABASE > ORACLE' 카테고리의 다른 글

Oracle - TRIM , LTRIM , RTRIM  (0) 2022.03.17
Oracle - SUBSTR , SUBSTRB  (0) 2022.03.17
Oracle - NVL , NVL2 , COALESCE  (0) 2022.03.15
Oralce - TO_CHAR ()  (0) 2022.03.14
Oralce - HAVING  (0) 2022.03.14
  • DECODE = if/else 와 비슷한 기능을 수행한다.
  • DECODE 문법 
  • DECODE 을 사용한 예제 1
  • DECODE 을 사용한 예제 2
  • DECODE 을 사용한 예제 3
  • DECODE 을 사용한 예제 4
  • DECODE 을 사용한 예제 5
'DATABASE/ORACLE' 카테고리의 다른 글
  • Oracle - TRIM , LTRIM , RTRIM
  • Oracle - SUBSTR , SUBSTRB
  • Oracle - NVL , NVL2 , COALESCE
  • Oralce - TO_CHAR ()
무병이
무병이
안농~!

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.