728x90
NVL
구문
NVL(expr1, expr2)
목적
"NVL은 쿼리 결과에서 null(빈 값으로 반환)을 문자열로 대체하는 데 사용됩니다. expr1이 null인 경우, NVL은 expr2를 반환합니다. expr1이 null이 아닌 경우, NVL은 expr1을 반환합니다.
인수인 expr1과 expr2는 어떤 데이터 유형이든 가질 수 있습니다. 데이터 유형이 다른 경우, Oracle Database는 암시적으로 하나를 다른 유형으로 변환합니다. 암시적 변환은 다음과 같이 구현됩니다:
- 만약 expr1이 문자 데이터라면, Oracle Database는 비교하기 전에 expr2를 expr1의 데이터 유형으로 변환하고, 결과는 expr1의 문자 집합을 갖는 VARCHAR2로 반환됩니다.
- 만약 expr1이 숫자라면, Oracle Database는 둘 중 높은 숫자 우선순위를 가진 인수를 결정하고, 다른 인수를 해당 데이터 유형으로 암시적으로 변환한 후 해당 데이터 유형을 반환합니다."
참고:
- 암묵적 변환에 대한 자세한 내용은 표 2-8을 참조하고, 숫자 우선순위에 관한 정보는 "Numeric Precedence"를 참조하십시오.
- "NVL과 유사한 기능을 제공하는 'COALESCE' 및 'CASE 표현식'"
- Oracle Database Globalization Support Guide의 부록 C는 문자 값인 경우 NVL의 반환 값에 할당되는 정렬을 정의하는 정렬 파생 규칙에 대한 정보(collation derivation rules)를 제공합니다.
예제
다음 예제는 직원 이름과 커미션(commissions)의 목록을 반환하며, 직원이 커미션을 받지 않는 경우 "Not Applicable"로 대체합니다.
SELECT last_name, NVL(TO_CHAR(commission_pct), 'Not Applicable') commission
FROM employees
WHERE last_name LIKE 'B%'
ORDER BY last_name;
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
출처: 오라클 레퍼런스
원문 링크: Oracle NVL 함수 문서
반응형
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] ORA_DM_PARTITION_NAME - 입력 행과 관련된 파티션의 이름 반환 (0) | 2023.08.11 |
---|---|
[오라클 레퍼런스 함수] NVL2 - NULL 여부에 따라 값 지정 (0) | 2023.08.11 |
[오라클 레퍼런스 함수] NUMTOYMINTERVAL - 숫자를 INTERVAL로 변환 (예) n년, n개월 (0) | 2023.08.11 |
[오라클 레퍼런스 함수] NUMTODSINTERVAL - 숫자를 INTERVAL로 변환 (예) n일, n시간, n분, n초 (0) | 2023.08.11 |
[오라클 레퍼런스 함수] NULLIF - 두 값이 동일하면 null 반환 (0) | 2023.08.11 |
댓글