포스팅 목차
o NVL
문법
nvl::=

목적
NVL함수는 쿼리의 결과에서 NULL(공백으로 반환) 값을 치환하는 함수이다. 만약 expr1이 NULL이면 expr2를 반환하고, 만약 expr1이 NULL이 아니면 expr1을 반환한다.
인수 expr1과 expr2는 임의의 데이터 형을 가진다. 만약 데이터 형이 다르면,
- 만약 expr1이 문자 데이터 이면, 오라클 데이터 베이스는 비교하기 전에 expr2의 데이터형은 expr1의 데이터형으로 변환하여, expr1의 문자 세트에 VARCHAR2를 반환한다.
- 만약 expr1이 숫자형이면, 오라클 데이터 베이스는 더 높은 수치 순위를 가지는 인수를 판단하여, 다른 인수의 데이터형을 암묵적으로 변환하여 반환한다.
참고
관련 함수
| 함수명 | 함수내용 |
| COALESCE | 나열된 인수의 값을 순차적으로 체크하여 NULL이 아닌 첫 번째 인수를 반환한다. |
| LNNVL | 조건문의 한쪽 또는 양쪽의 피연산자가 NULL이 존재하는 관측치를 포함하여 조건문을 평가하기 위한 방법을 제공한다. |
| NANVL |
만약 n2가 NaN이 아니라면, 오라클은 n2를 반환한다. 만약 입력 값 n2가 Nan(숫치가 아닌)인 경우에 대체 값 n1을 반환하도록 오라클에 지시한다. |
| NULLIF |
expr1과 expr2를 비교하는 비교 함수이다. 만약 expr1과 expr2가 같으면 NULL값을 반환하고, expr1과 expr2가 서로 동일하지 않으면 expr1을 반환한다. |
| NVL | 쿼리의 결과에서 NULL(공백으로 반환) 값을 치환하는 함수이다. 만약 expr1이 NULL이면 expr2를 반환하고, 만약 expr1이 NULL이 아니면 expr1을 반환한다. |
| NVL2 | NVL2함수를 사용하면, 지정한 표현이 NULL인지 여부에 근거하여 쿼리의 반환될 값을 분기하여 처리할 수 있다. |
예제
다음 예제는 종업원이 수수료를 받지 않은 경우 "Not Applicable"를 표시한다.
| Oracle Program |
SELECT last_name,
NVL(TO_CHAR(commission_pct), 'Not Applicable') "COMMISSION"
FROM employees
WHERE last_name LIKE 'B%'
ORDER
BY last_name;
| Results |
LAST_NAME COMMISSION
------------------------- ----------------------------------------
Baer Not Applicable
Baida Not Applicable
Banda .1
Bates .15
Bell Not Applicable
Bernstein .25
Bissot Not Applicable
Bloom .2
Bull Not Applicable
| 오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
| [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
| [오라클 SQL 함수] ORA_HASH 함수 (0) | 2021.10.19 |
|---|---|
| 【오라클(Oracle) SQL 함수】 NVL2 함수 (0) | 2021.10.19 |
| 【오라클(Oracle) SQL 함수】 ASIN 함수 (0) | 2021.10.18 |
| 【오라클(Oracle) SQL 함수】 NUMTOYMINTERVAL 함수 (0) | 2019.01.03 |
| 【오라클(Oracle) SQL 함수】 NUMTODSINTERVAL 함수 (0) | 2019.01.03 |
댓글