Programming/SQL

SQL 단일행함수 - 일반함수

해치 2020. 4. 21. 17:35
728x90

단일행 함수의 종류

1. 문자함수

2. 숫자함수

3. 날짜함수

4. 변환함수

5. 일반함수

-nvl 함수, decode 함수, case


1. nvl 함수 - null값을 처리하는 함수, null값 대신에 다른 값을 출력하는 함수

 

예제) 이름과 커미션을 출력하는데 커미션이 null인 사원들은 0으로 출력하시오

<null값 처리 전>

사원이름과 커미션

<null 값 처리 후>

select ename, nvl(comm, 0)
from emp;

nvl 처리 후 사원이름과 커미션

2. decode 함수 - SQL로 if문을 구현 할 수 있게 해주는 함수

decode ( 컬럼명, 조건1, 결과1, 조건2, 결과2, ....)

decode는 등호(=) 비교만 가능하다

 

예제) 이름, 월급, 부서번호, 보너스를 출력하는데 부서번호가 10번이면 보너스를 5000 출력하고 아니면 0을 출력하시오

select ename, sal, deptno, decode(deptno,10,5000,0) 보너스
from emp;

 

3. case문 - 조건에 따라서 값을 지정해주는 함수

case when 조건1 then 반환값1

      when 조건2 then 반환값2

      else 반환값3

      end;

 

예제) 사원이름, 월급을 출력하는데 월급이 1000이상 2000미만은 보너스 20, 월급이 2000이상은 보너스100을 출력, 나머지는 0으로 출력하시오

select ename, sal, case when sal>=1000 and sal<2000 then 20
						when sal>=2000 then 100
						else 0 
						end as 보너스
 from emp;