★중요 null함수

NVL null값을 바꾸는 함수

NVL2 (식별자,null아닐때,null일때) null값으로 if문을 만드는것

NULLIF 두 개 값을 비교하여 NULL값 또는 사용되어진 두 개값 중 하나를 리턴해 주는 함수 -> NULLIF(a,b)같은값은 null

coalesce 인수중에서 NULL이 아닌 첫 번째 인수를 반환해 주는 함수

 ----------------------------
Conditional Expressions
where 절에 쓸수있다는게 중요 ! 검색을 더잘할수있슴
조건문, if로직

CASE문
SELECT last_name, job_id, salary,
CASE job_id WHEN 'IT_PROG' THEN 1.10*salary
WHEN 'ST_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE salary END "REVISED_SALARY"
FROM employees; 

DECODE문
SELECT last_name, job_id, salary,
DECODE(job_id, 'IT_PROG', 1.10*salary,
'ST_CLERK', 1.15*salary,
'SA_REP', 1.20*salary,
salary)
REVISED_SALARY
FROM employees;






select empno, ename, comm, nvl(comm, 0)

  , nvl2(comm, comm, 0)

  from emp;


  select empno, ename, sal, comm

, sal*12 + nvl(comm, 0) as ann_sal

, decode(nvl(to_char(comm), 'null'), 'null', 'sal*12', 'sal*12+comm') as gubun

  from emp;


  select empno, ename, sal, comm, nvl2(comm, sal*12+comm, sal*12) as ann_sal, nvl2(comm, 'sal*12+comm', 'sal*12') as gubun

  from emp;


  select empno, ename, sal, comm

, sal*12 + nvl2(comm, comm, 0) as ann_sal, nvl2(comm, 'sal*12+comm', 'sal*12') as gubun

  from emp;



  * NVL2를 이용해서 NVL의 기능을 구현

select nvl(comm, 0)

    , nvl2(comm, comm, 0) 

from emp;


  * return type

    - NVL: expr1

    - NVL2: expr2

'Oracle > SQL Fundamentals I' 카테고리의 다른 글

7일차 # 3-52: COALESCE  (0) 2012.04.12
7일차 # 3-51: NULLIF  (0) 2012.04.12
7일차 # 3-43: RR Date Format  (0) 2012.04.12
7일차 문제(select문)~~  (0) 2012.04.12
6일차 # 3-42: fx의 효과  (0) 2012.04.10

+ Recent posts