초급의 끄적거림

[ORACLE] NVL 과 NVL2 본문

DB/Oracle

[ORACLE] NVL 과 NVL2

codingD 2020. 7. 10. 10:57

오라클에서 사용하는 NULL값을 다른 값으로 치환하는 방법

  • NVL 함수를 이용하여 쉽게 처리 가능
  • 주의 !! 오라클에서만 제공하기 때문에 다른 데이터베이스 (MySQL, MS_SQL 등) 에서는 사용 불가

1. NVL(칼럼, NULL일 때 반환값)

NVL(컬럼, 0) 		 -- NULL 일 때, 0으로 치환
NVL(컬럼, '') 	 -- NULL 일 때, ''으로 치환
NVL(컬럼, SYSDATE) -- NULL 일 때, 현재 날짜로 치환

-- 칼럼이 NULL일 때 A 반환
SELECT NVL(NULL, 'A') FROM DUAL;

 

2. NVL(칼럼, NULL이 아닐 때 반환값, NULL일 때 반환값)

  • DECODE 함수와 NVL 함수를 합쳐놓은 형태
NVL2(컬럼, 0, 1) 		  -- NULL이 아닐 때는 0, NULL일 때는 1
NVL2(컬럼, '남', '여') 	 -- NULL이 아닐 때는 남, NULL일 때는 여

-- 칼럼이 NULL이 아니면 A, NULL이면 B 반환
SELECT NVL2(NULL, 'A', 'B') FROM DUAL;

'DB > Oracle' 카테고리의 다른 글

[Oracle] 상위 n개행 조회하기  (0) 2020.07.13
[ORACLE] OUTER JOIN (+)  (0) 2020.07.10
[Oracle] 분석함수  (0) 2020.07.03
[Oracle] ORA-00900: invalid SQL statement  (0) 2020.07.02
[Oracle] SQLGate 자동커밋 설정  (0) 2020.06.23
Comments