더북(TheBook)

④ NULLIF (expr1, expr2)

NULLIF 함수는 expr1과 expr2을 비교해 같으면 NULL을, 같지 않으면 expr1을 반환한다.

입력

    SELECT employee_id,
           TO_CHAR(start_date, 'YYYY') start_year,
           TO_CHAR(end_date, 'YYYY') end_year,
           NULLIF(TO_CHAR(end_date, 'YYYY'), TO_CHAR(start_date, 'YYYY') ) nullif_year
    FROM job_history;

결과

    EMPLOYEE_ID     START_YEAR   END_YEAR NULLIF_YEAR
    --------------- ----------- ---------------------
            1022001       2006   2006
            1011997       2001   2001
            1012001       2005   2005
            2012004       2007   2007
            1142006       2007   2007
            1222007       2007
            2001995       2001   2001
            1762006       2006
            1762007       2007
            2002002       2006   2006

    10개의 행이 선택됨.

위 문장은 job_history 테이블에서 start_date와 end_date의 연도만 추출해 두 연도가 같으면 NULL을, 같지 않으면 종료년도를 출력하는 쿼리다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.