본문 바로가기
DBMS/ORACLE

[ORACLE] 오라클_NULL 값 일때 치환,처리 (ft. NVL , NVL2)

by 썸머워즈 2019. 2. 18.
반응형

 

ORACLE 에서는 값이 NULL일때 특정 값으로 치환할 수 있도록 도와주는 함수가 존재하는데 NVL 과 NVL2이다.

이는 오직 ORACLE에서만 제공해주는 함수이기 때문에 다른곳에서는 사용하지 않는다.

 

NVL 과 NVL2에 대해 알아보자.

NVL

- NVL([컬럼], [치환할 값])

- 해당 컬럼이 NULL일 경우 치환할 값으로 변환시켜 준다.

- 타입으로는 숫자, 문자, 날짜 모두 가능하다.

-- comm 컬럼이 null일 경우 0으로 치환한다.
SELECT salary, NVL(comm, 0) FROM emp;

NVL2

NVL2([컬럼], [NULL이 아닐경우], [NULL일 경우])

- NVL과 달리 매개변수가 하나 더 있는데 이는 컬럼이 NULL이 아닐때 역시 값을 정해둬 사용할 수 있다.

-- NULL 일경우 'NULL값이구나' , 값이 있을경우 '값이 있구나' 반환
SELECT salary, NVL2(comm, '값이 있구나', 'NULL 값이구나') FROM emp;

둘다 사용방법이 간단하여 그렇게 어렵지는 않으나 용도에 맞게 사용해주면 될 것 같다.

 

추가로 COALESCE 함수가 존재하는데,

이 함수는 오라클뿐만 아니라 다른 데이터베이스에서도 사용이 가능하니 알아두면 좋다.

 

https://mine-it-record.tistory.com/175

 

[ORACLE]오라클_NULL 값 일때 치환 및 처리 (COALESCE)

COALESCE - COALESCE(case1, case2, case3, ..., caseN) - COALESCE 함수는 나열된 값을 순차적으로 체크하여 NULL이 아닌 값이 나오는 인수를 반환한다. - 이 함수는 ANSI 표준 함수로 오라클뿐만 아니라 다른 DB..

mine-it-record.tistory.com

반응형


댓글

TOP