--null을 aaa로 채우기
select nvl(null, 'aaa')
from dual;
--null값이 없으므로 test출력
select nvl('test','aaa') from dual;
--null값을 1000으로 대체
select empno, ename, comm, nvl(comm,1000)
from emp;
select ename, sal, comm, sal*12+comm
from emp;
-- null값을 0으로.
select ename, sal, comm, sal*12+nvl(comm,0)
from emp;
--null값에 문자 데이터 넣기
select ename, sal, comm, nvl(to_char(comm), 'no data') as result
from emp;
col result format a10;
-- null값에 문자 데이터 넣기
select empno, ename, nvl(to_char(mgr), 'C E O') as MANAGER
from emp
where mgr is null;
--comm이 null이 아니면 comm, null이면 0 출력
select nvl2(comm, comm, 0) from emp;
--comm이 null이 아니면 comm+1000, null이면 100 출력
select nvl2(comm, comm+1000, 100) from emp;
--nvl과 nvl2 사용
select empno, ename,sal,
sal*12+nvl(comm,0) as "NVL",
nvl2(comm, sal*12+comm, sal*12) as "NVL2"
from emp;
반응형
'2019 > ORACLE' 카테고리의 다른 글
SQL CASE-WHEN-THEN (0) | 2019.11.15 |
---|---|
SQL DECODE (0) | 2019.11.15 |
SQL DATE (0) | 2019.11.15 |
SQL INSTR (0) | 2019.11.15 |
SQL LPAD RPAD (0) | 2019.11.15 |