nickjoIT

NULL 제어 본문

DB/oracle

NULL 제어

nickjo 2017. 5. 24. 15:09

DECLARE

  x NUMBER := 5;

  y NUMBER := NULL;

BEGIN

  --y가 NULL이므로 비교 연산이 불가하므로 FALSE

  IF x != y THEN

    DBMS_OUTPUT.PUT_LINE('x != y'); --not executed

    

  --y가 NULL이므로 비교 연산이 불가하므로 FALSE

  ELSIF x = y THEN

    DBMS_OUTPUT.PUT_LINE('x=y'); --not executed

  

  --비교 연산이 불가하므로 ELSE 부분만 수행이 됨

  ELSE

    DBMS_OUTPUT.PUT_LINE('Can''t tell if x and y are equal or not.');    

  END IF;

  

  --NULL 여부는 IS NULL 함수를 이용하여 비교해야함

  IF y IS NULL THEN

    DBMS_OUTPUT.PUT_LINE('y IS NULL');

  END IF;

  

  --NULL일 경우 NVL을 이용하여 비교 수행

  IF x = NVL(y,5) THEN

    DBMS_OUTPUT.PUT_LINE('x=y');    

  ELSE

    DBMS_OUTPUT.PUT_LINE('x!=y');

  END IF;

END;

/




'DB > oracle' 카테고리의 다른 글

프로시저 입/출력 매개변수  (0) 2017.05.24
NVL, NVL2, NULLIF, COALESCE  (0) 2017.05.24
%TYPE && %ROWTYPE  (0) 2017.05.22
레코드 타입  (0) 2017.05.22
SELECT INTO  (0) 2017.05.21
Comments