nickjoIT
NVL, NVL2, NULLIF, COALESCE 본문
--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