본문 바로가기
오라클 게시판/오라클 함수

【오라클(Oracle) SQL 함수】 NVL 함수

by 기서무나구물 2021. 10. 19.

포스팅 목차

    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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글