인공지능/SQL

오라클 SQL 함수 정리 - ⑤ 일반 함수

해피밀세트 2020. 1. 28. 16:48
반응형

 

5. 일반 함수

 

  1) nvl : null 값을 실제값으로 대체하는 함수 / nvl( , )안의 값은 둘이 형이 맞아야함

             nvl(기준값, 대체값)

select salary, commission_pct, salary * 12 + nvl(commission_pct, 0)

from employees;

 

  2) nvl2 : null값을 실제값으로 대체하는 함수

              nvl2(기준값, null 아니면 2번째 수행할 연산,  기준값이 null이면 수행할 연산)

select salary, nvl2(commission_pct, salary * 12 + commission_pct, salary * 12)

from employees;

 

  3) coalesce : null값이 안나오도록 계속 수행/ null 나오면 다음 인수를 계산 /

                 인수 제한 없음/ null 아니면 첫번째 인수, null이면 다음인수로/

                 기준값 넣어도

select coalesce(salary*12 + commission_pct, salary*12, salary)

from employees;

 

  4) nullif : 두개의 인수값이 동일하면 null/ 동일하지 않으면 첫번째 인수값을 보여줌

select last_name, first_name, nullif(length(last_name), length(first_name)) nullif

from employees;

 

  5) decode : 첫번째 인수 기준값 / 두번째 인수 비교값 / 세번째 인수 참값

select employee_id, job_id, salary, decode(job_id, 'IT_PROG', salary*1.1)

from employees;

 

  6) case : 콤마(,)대신 when then절을 / ( ) 안씀 / end 마무리 / 표준/

             case 같다(=)말고 다른 비교연산자도 표현 가능

             , 같다(=) 외의 비교연산자를 쓸경우 기준값은 when 안에 넣어야함

select employee_id, job_id, salary,

            case job_id when 'IT_PROG' then salary*1.1

                                 when 'ST_CLERK' then salary*1.2

                              when 'SA_PEP' then salary*1.3

                                else salary

                                end as "revised_salary"

from employees;

반응형