상세 컨텐츠

본문 제목

[데이터베이스] 오라클_ 함수 종류 (일반함수: NVL/NVL2/NULLIF/COALESCE)

Data Base_데이터베이스

by 쫑메이 2020. 7. 19. 00:55

본문

 

 

 

 

 

 

 

 

database

 

 

 

 

 

 

일반 함수로

NVL/NVL2/NULLIF/COALESCE를 통해

null을 어떻게 처리하는지 배워보자!

 


 

 

 

 

 

 

 


함수의 분류


 

 

 

 

 


일반 함수


 

 

일반 함수는 어디에 쓰는 걸까?

데이터 타입 구분 없이 사용할 수 있는 함수

 

 

 

오라클을 사용하다 보면 NULL 값을 다른 함수로 치환해 주어야 하는 경우가 많은데

그럴 때 쓰는 함수

 

 

 

 

 

 

 


언제 NULL 처리를 해야 할까?


 

 

컬럼값이 NULL이면 연산할 때 그 컬럼은 제외된다.

이것은 COUNT, AVG 등 연산에서 치명적인 오류를 발생할 수 있는데

NULL인 컬럼은 제외되기 때문에 COUNT 연산에서 제외된다.

그래서 반드시 NULL 처리를 해줘야 한다.

 

 

 

 

 

 

 

 

 


null 값이 올 때 처리하는 함수 4가지_ (1) NVL 함수


 

 

(1) NVL함수

 

NVL(칼럼, null일 경우 반환값)

- null 값이 올 때 지정한 값으로 대체하라

- null 값이 아니면 원래 지정한 값이 나오고 null 값이면 지정한 다른 실제 값으로 나온다

- 사용할 수 있는 데이터 유형은 날짜, 문자, 숫자

 

★단, 데이터 유형이 일치해야 한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


null 값이 올 때 처리하는 함수 4가지_ (2) NVL2함수


 

 

 

NVL2함수

 

NVL2('칼럼','NULL이 아닐 경우 반환값 1','NULL 일 경우 반환값 2')

NVL2 함수는 null이 아닌 경우 반환값 1을 출력하고, null인 경우 반환값 2 출력한다.

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

※해당 컬럼의 값이 null 값인 경우 특정값으로 출력하고 싶으면 NVL 함수를 사용하고,

null 값이 아닐 경우 특정값으로 출력하고 싶으면 NVL2 함수를 사용하면 된다.

 

 

 

 

 

 

 

 

 


null 값이 올 때 처리하는 함수 4가지 _ (3)) NULLIF


 

 

 

 

3) NULLIF(exp1, exp2)

- exp1값과 exp2값이 동일하면 NULL을 그렇지 않으면 exp1을 반환

 

 

 

 

 

 

 

 

 

 


null 값이 올 때 처리하는 함수 4가지_ (4) COALESCE


 

 

 

 

4) COALESCE(expr1, expr2, expr3, … )

인자가 정해져 있지 않다

원하는 대로 인자를 넣을 수 있다

입력받은 값 중에서 null 값이 아닌 첫 번째 표현식을 출력

 

 

 

 

 

 

 

 

 


DECODE 함수


 

 

DECODE(기준값, 비교값, 출력값, 비교값, 출력값)

조건에 따른 값 선택하기

프로그래밍 언어에서 사용하는 if 문이 나 case 문으로 표현되는 복잡한 알고리즘을

오라클 sql 안으로 가져온 함수다.

 

 

 

 

예를 들어 이런 예문이 있다면

 

 

 

a가 1일 경우 ‘1’을 출력하고, 아닐 경우‘2’를 출력

 

 

 


 

 

---a와 b가 같으면 1, a와 c가 같으면 2, 나머지는 3을 출력

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 


 

 

 

 

 

 

 


 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

아직 부족한 게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 

 

 

 

 

 


 

 

반응형

관련글 더보기