ㄴ MARTIN에 NVL(COMM,0) 1400임
nvl
: null value
select ename, sal, comm, nvl(comm,0)
from emp;
💡
nvl(숫자형 컬럼, 숫자형 데이터)
nvl(문자형 컬럼, 문자형 데이터)
insert into emp(empno, ename, sal ) values(9382,'jack', 3400);
commit;
select * from emp;
select ename, nvl(job, 'no job')
from emp;
select ename, nvl(to_char(comm), 'no comm')
from emp;
💡
comm --> 숫자형
'no comm' --> 문자형
문자를 숫자로 바꿔줄 수는 없으니
comm을to_char(comm)
으로 써서 문자형으로 변환
select ename, nvl(to_char(mgr), 'no manager')
from emp;
💡
mgr --> 숫자형
'no manager' --> 문자형
mgr을 `to_char(mgr)'로 써서 문자형으로 변환
select ename, sal, comm, sal+nvl(comm,0)
from emp;
select ename, sal, comm, nvl2(comm, sal+comm, sal)
from emp;
💡nvl2
comm
--> null이면 sal 반환
null이 아니면 sal+comm을 반환
select ename, comm
from emp
order by comm desc nulls last;