본문 바로가기

Oracle DB

DECODE, NVL, CASE

DECODE, NVL, CASE
DECODE, NVL, CASE

이번엔 다양한 구문을 소개하겠다.

Java의 if문과 비슷한것이 있으니 편하게 보면 되겠다.

 TEST
이전에 시퀀스를 이용하여 홍길이 친구들을 더 만들었다. 거기다 임의로 EMAIL이라는 컬럼을 추가하였다. 테이블 이름은 TEST

 

1. DECODE( ) 함수

if 대신에 DECODE로 생각하면 되고, 괄호안에 경우에 대한 값들을 작성하면 된다.

DECODE( )함수는 경우를 어떻게 두냐에 따라 사용법이 달라진다.

첫번째 방법은 경우를 두 가지로 나누는 방법이다.

DECODE( ) 1
DECODE( )사용법1

두번째 방법은 경우를 세 가지로 나타내는 방법이다.

DECODE( ) 2
DECODE( )사용법2

2. NVL( ) 함수

NVL( ) 함수는 컬럼의 값이 NULL 인경우에 대해서만 사용하는 조건문이다.

NULL인 값을 표현할 때 그대로 노출시키지 않고 다르게 표현한다고 보면 된다.

마찬가지로 두 가지 방법이 있다. DECODE( ) 함수와 굉장히 유사하지만, 약간 다르니 주의해서 보면 되겠다.

NVL

3. CASE

기능은 DECODE( )함수와 비슷하지만 조건을 연달아서 작성할 수 있다는점에서 차이점이 있다.

어떤식으로 사용하는지 보고 마무리하자.

CASE
CASE 사용법

쿼리문을 보면 5줄로 작성되어있는것을 볼 수 있는데, 가독성을 위해서 일부러 줄 수를 늘렸다. 한줄로 쭈욱 작성해도 무방하다.

CASE 1LINE

CASE문을 사용한 다른 예시도 있으니 보고 실습하면서 익히도록 하자.↓

 CASE 2

'Oracle DB' 카테고리의 다른 글

FOREIGN KEY, INNER JOIN, OUTER JOIN  (0) 2022.01.11
UNION  (4) 2022.01.08
서브쿼리, 시퀀스  (4) 2022.01.06
GROUP BY, 집계함수  (2) 2022.01.05
WHERE 절, ORDER BY  (0) 2022.01.04