NVL함수
NVL함수를 사용하면 값이 NULL인 경우 지정된 값을 출력하도록 설정할 수 있다.
SELECT NVL("값", "지정값")
FROM DUAL;
기본적인 사용법은 위와 같다. "값"이 NULL이라면 "지정값"을 출력하고, 그렇지 않다면 기존 값을 그대로 출력한다.
SELECT NVL(NAME, "홍길동")
FROM TB_STUDENT;
예를 들어 TB_STUDENT라는 테이블에서 학생들의 이름(NAME)을 출력한다고 하자.
만약 이름이 NULL이라면 "홍길동"이라는 값이 출력된다.
NVL2 함수
NVL2 함수는 값이 NULL이 아닌 경우에는 지정값1을 출력하고, NULL이라면 지정값2를 출력하도록 한다.
SELECT NVL("값", "지정값1", "지정값2")
FROM DUAL;
기본적인 사용법은 위와 같다. 만약 "값"이 NULL이라면 "지정값2"를 출력하고, NULL이 아니라면 "지정값1"을 출력한다.
SELECT NVL2(JOB, "직장인", "백수")
FROM TB_HUMAN;
예를 들어 TB_HUMAN이라는 테이블에서 JOB 컬럼 값이 있다면 "직장인"으로 출력하고, NULL이라면 "백수"로 출력하도록 할 수 있다.
NVL 응용
NVL("값", 0) -- "값"이 NULL이라면 0으로 치환
NVL("값", '') -- "값"이 NULL이라면 공백으로 치환
NVL("값", SYSDATE) -- "값"이 NULL이라면 현재 날짜로 치환
NVL 함수는 위와 같이 응용 할 수도 있다.
하지만 NVL 함수는 사용에 주의를 둬야 한다. NVL 함수는 오직 ORACLE에서만 지원하기 때문이다.
따라서 추후 MYSQL 등 다른 데이터베이스 시스템을 염두에 둔다면 다른 함수를 고려해봐야 한다.
반응형
'데이터베이스 > [Oracle]' 카테고리의 다른 글
[Oracle] 오라클 SYSDATE 사용법(날짜 빼기 더하기 계산법 등) (0) | 2023.10.04 |
---|---|
[Oracle] 오라클 DECODE 함수 사용법 (0) | 2023.08.21 |
[Oracle] 오라클 숫자 반올림하는 법, ROUND 함수 사용법, 날짜 반올림하는 법 (0) | 2023.07.31 |
[Oracle] 오라클 TRUNC 함수 사용법, 숫자, 시간 절사 하는 법 (0) | 2023.07.28 |
[Oracle] 오라클 문자열 대소문자 치환하는 법, LOWER/UPPER 함수 사용법 (0) | 2023.07.28 |