Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-member domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /ledcorps/www/wp/wp-includes/functions.php on line 6114 5.7 NVL, NVL2, NULLIF, COALESCE – 대나무숲

5.7 NVL, NVL2, NULLIF, COALESCE

출처 URL : http://www.gurubee.net/lecture/1880

NVL

NVL 함수는 NULL 값을 다른 값으로 바꿀 때 사용하며, 모든 데이터 타입에 적용이 가능하다.

-- 매니저가 없는 값을 0으로 바꾸어서 출력하는 예제.
SELECT empno, NVL(mgr, 0) mgr
  FROM emp  
 WHERE deptno = 10;
 
EMPNO      MGR
------- -------
  7782    7839
  7839       0
  7934    7782

NVL2

  • – NVL2라는 함수는 NVL함수의 DECODE 함수의 개념을 합쳤다고 생각하면 쉽습니다.
  • – NVL2(expr, expr1, expr2)
  • – expr의 값이 NULL이 아닐 경우에는 expr1의 값을 반환 하고, NULL일 경우에는 expr2의 값을 반환 한다.
-- 매니저가 있는경우 1을 없는경우 0을 출력하는 예제이다.
SELECT empno, NVL2(mgr, 1, 0) mgr
  FROM emp  
 WHERE deptno = 10;
 
EMPNO        MGR
------- ----------
  7782          1
  7839          0
  7934          1

NULLIF

  • – NULLIF(exp1, exp2)
  • – exp1값과 exp2값이 동일하면 NULL을 그렇지 않으면 exp1을 반환
  • – CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END

COALESCE

  • – COALESCE(expr1,expr2,expr3,…)
  • – expr1이 NULL이 아니면 expr1값을 그렇지 않으면 COALESCE(expr2,expr3,…)값을 반환.
  • – NVL 함수와 비슷하다.
-- 아래 문장을 실행해 보자.
SELECT COALESCE(comm,1), comm 
  FROM emp;
 
 
COALESCE(COMM,1)       COMM
---------------- ----------
               1
             300        300
             500        500
               1
            1400       1400
               1
               1
               1
               0          0
               1
               1  

답글 남기기 0

Your email address will not be published. Required fields are marked *