SQL 단일행 함수 - 기타함수

MIN.DI·2021년 5월 18일
0

SQL

목록 보기
10/17

기타함수

NVL (column, exp1)

: Null값을 exp1 값으로 변환

NVL2(column, exp1,exp2)

: 해당 컬럼이 null이면 exp2값을, null이 아니면 exp1값을 리턴

>> nvl2(mgr, mgr||'담당','상위자')
-> mgr이 mull이면 '상위자', null이 아니면 '담당' 리턴)

NULLIF(exp1,exp2)

: exp1과 exp2값을 비교해 같으면 null 다르면 exp1값을 리턴

>> nullif(job, 'SALESMAN')
->job이 SALESMAN 이면 NULL, 아니면 job 데이터 리턴

COALESCE (exp1, , , expN)

: exp1, exp2, ..., expN 중 null이 아닌 첫번째 값을 이용

DECODE

: If –then-else 문의 역할 수행 (조건부 조회를 손쉽게 수행)

>> DECODE(JOB, 'ANALYST', SAL*1.1
	     ,'CLERK', SAL*1.2
             ,'MANAGER', SAL*1.3
             ,'SALESMAN', SAL*1.4, SAL)

DECODE는 컬럼과 데이터 사이에 연산자가 없다.
따라서 모든 조건을 '=' 로 취급한다.

CASE WHEN 조건식 THEN EXP1 END

: If –then-else 문의 역할

>> CASE job WHEN 'ANALYST' THEN sal * 1.1
            WHEN 'CLERK' THEN  sal * 1.2
            WHEN 'MANAGER' THEN  sal * 1.3
            WHEN 'PRESIDENT' THEN  sal * 1.4
            WHEN 'SALESMAN' THEN sal * 1.5
            ELSE sal
   END  salary
   
   
>>CASE  WHEN sal < 1000 THEN 'A'
        WHEN sal < 2500 THEN 'B'
        ELSE 'C'
  END  grade     

DECODE와 달리 컬럼과 데이터 사이에 연산자 사용 가능하다.

profile
내가 보려고 쓰는 블로그

0개의 댓글