NVL함수의 개념은 되게 간단하다
NULL값은 계산이 안 되기 때문에 NULL인 경우에는 그 안에 대체숫자 or 문자열을 넣는 함수이다
select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0)
from emp;
==예제==
null 값이면 문자열을 넣으려면 어떻게 해야 될까?
mgr의 값은 NUMBER인데 어떻게 문자로 대체할 수 있을까?
!!!MGR자체를 to_char로 형 변환을 시키면 된다.!!!
select empno,ename,nvl(to_char(mgr),'CEO')
from emp;
decode함수는 그 값이 10,20등등이면 내가 원하는 값을 추가하는 거임
select empno,ename,deptno,decode(deptno,10,'ACCOUNTING',
20,'RESEARCH',
30,'SALES',
40,'OPERATIONS') as dname
from emp;
+case도 알아보자
decode와 차이점은 decode는 같을 때만 사용할 수 있는데 case의 경우에는 크거나 작을 때도 가능하다는 거다
select empno,ename,deptno,
case
when deptno>10 then 'ACCOUNTING'
when deptno=20 then 'RESEARCH'
when deptno=30 then 'SALES'
when deptno=40 then 'OPERATION'
end as dname
from emp;
'데이터베이스' 카테고리의 다른 글
Database - 그룹 함수 (실습) (0) | 2022.07.08 |
---|---|
Database - 그룹함수 개념 + 예제 (0) | 2022.07.08 |
Database - 형 변환 함수 (0) | 2022.07.07 |
Database - 날짜 관련 함수 (0) | 2022.07.07 |
Database - 실습 1,2,3,4,5 (0) | 2022.07.07 |