nickjoIT

NVL, NVL2, NULLIF, COALESCE 본문

DB/oracle

NVL, NVL2, NULLIF, COALESCE

nickjo 2017. 5. 24. 15:21

--NVL(expr,expr1)

--expr의 값이 NULL일 경우 expr1의 값을 반환

SELECT NVL(NULL,5) FROM DUAL;


--NVL2(expr,expr1,expr2)

--expr의 값이 NULL이 아닐 경우에는 expr1의 값을 반환하고

--NULL일 경우에는 expr2의 값을 반환

SELECT NVL2(NULL, 'TRUE', 'FALSE') FROM DUAL;


--NULLIF(expr1,expr2)

--expr1값과 expr2값이 동일하면 NULL을 반환하고, 그렇지 않으면 expr1을 반환

SELECT NULLIF('2','2') FROM DUAL;


--COALESCE(expr1,expr2,expr3)

--expr1이 NULL이 아니면 expr1 값을, 그렇지 않으면 COALESCE(expr2,expr3,..)값을 반환

SELECT COALESCE(NULL,'A','C') AS COL1

     , COALESCE(NULL,NULL,'B','C') AS COL2

     , COALESCE('C',NULL,'D') AS COL3

FROM DUAL;

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

프로시저 삭제  (0) 2017.05.24
프로시저 입/출력 매개변수  (0) 2017.05.24
NULL 제어  (0) 2017.05.24
%TYPE && %ROWTYPE  (0) 2017.05.22
레코드 타입  (0) 2017.05.22
Comments