Posts List

Translate

2014년 2월 3일 월요일

ORACLE NVL 함수 & DECODE 함수

오라클 함수

1. NVL함수
    NVL(value,1)
     -> value가 null 일경우 1을 반환
                     그렇지 않을경우 value값을 반환
2.NVL2 함수
NVL2(expr1, expr2, expr3) 함수는
   expr1이 null이 아니면 expr2를 반환하고,
   expr1이 null이면 expr3을 반환한다.
ex) select nvl2('','Corea','Korea') from dual;


3. DECODE 함수
DECODE(col1,
              value1, value_data1,
              value2, value_data2,
              value3, value_data3,
              ............
              last_data
'col1'의 값이 'value1' 이면 'value_data1' 이고, 'value2' 이면 'value_data2'
그리고 모든 조건에 만족하지 않는다면 'last_data'가 된다.

두 가지 함수를 아래와 같이 응용해볼 수 있다.
DECODE(NVL(USE_YN,'N'),'Y','N','Y')

USE_YN의 값이 NULL 값이면 'N'으로 치환하고, 그 값이 'Y' 이면 'Y'이고
'N' 이면 'N'이며, 이것도 저것도 아니면 'Y' 라는 결과를 내는 것이다.

댓글 없음 :

댓글 쓰기