'데이터베이스'에 해당되는 글 24건

▣ Oracle Null값 변환/치환 NVL, NVL2 함수 사용 법

 

 

 

 

이번엔 Null값을 다른 값으로 치환할 수 있는 NVL/NVL2 함수에 대해서 알아 보겠습니다.

NVL/NVL2 함수는 특정 값이 Null일 경우, 다른 값으로 변환을 해주는 함수로 사용법은 아래와 같습니다.

 

먼저 NVL 함수의 사용 법 먼저 알아 보겠습니다.

 

→ NVL(Value, ChangeValue)

 

Value값이 Null인 경우, ChangeValue로 변환 해줍니다.

 

예를 들면..

 

SELECT NVL(NULL, 'NULL입니다') FROM DUAL 'NULL입니다'

SELECT NVL('A', 'NULL입니다')    FROM DUAL → 'A'

 

이렇게 출력이 됩니다.

 

다음으로 NVL2 함수의 사용 법을 알아 보겠습니다.

 

→ NVL2(Value, ChangeValue1, ChangeValue2)

 

Value값이 Null이 아닌 경우, ChangeValue1로 변환 Null인 경우는 ChangeValue2로 변환 해줍니다.

 

이것도 예를 들어 보면.. 아래와 같이 출력이 됩니다.

 

SELECT NVL2(NULL, 'NULL이 아닙니다', 'NULL입니다')   FROM DUAL 'NULL입니다'
SELECT NVL2('A', 'NULL이 아닙니다', 'NULL입니다')       FROM DUAL 'NULL이 아닙니다'

 

실제로는 아래와 같이 사용할 수 있습니다.

 

SELECT NVL(D.EMP_CNT, 'NON_USE') FROM DEPT D;

SELECT NVL2(D.EMP_CNT, 'USE', 'NON_USE') FROM DEPT D;

 

위의 쿼리는 부서 테이블에 부서원 Count가 Null이면 NON_USE(사용하지 않음)으로 출력하는 것이고,

아래 쿼리는 부서 테이블에 부서원 Count가 Null이면 NON_USE(사용하지 않음)으로 출력 하지만 만약 Count가 있다면 Count를 출력 하지 않고 USE(사용) 으로 출력 해줍니다.

 

이상 NVL과 NVL2 함수에 대해 알아 봤습니다.

 

블로그 이미지

기요밍b

IT와 게임 블로그 입니다!!^^

,