본문 바로가기

Oracle Database

[ORACLE] NULL 함수 .NVL(),NVL2(), NULLIF()

 

NVL(NULL,대체값)

// AVG가 NULL일경우 0으로 대체
SELECT NVL(AVG,0) FROM MEMBER;

SELECT TRUNC(NVL(AGE,0)/10)*10 FROM MEMBER;

 

NVL2(입력값, NOT NULL, 대체값, NULL 대체값)

SELECT NVL2(AGE,TRUNC(AGE/10)*10,0) FROM DUAL;

 

두값이 같은 경우 NULL, 그렇지 않으면 첫번째 값 반환  NULLIF(값1,값2)

SELECT NULLIF(AGE,19) FROM MEMBER;

 

조건에 따른 값 선택하기 DECODE(기준값,비교값,출력값,비교값,출력값)

SELECT DECODE(GENDER,'남성',1,2) FROM MEMBER;

SELECT DECODE(SUBSTR(PHONE,1,3)'011','SK','016','KT','기타') FROM MEMBER;