DB(SQL)
[SQL] 단일행 함수 - NULL처리 함수 NVL, NVL2, NULLIF
이나피스
2022. 3. 26. 20:31
반응형
NVL
해당 컬럼값이 NULL일 떄 : 제시한 특정값 반환
해당 컬럼값이 NULL이 아닐 때 : 기존 컬럼값 반환
NVL(컬럼명, 해당컬럼명이NULL일경우반환할값)
--사원명, 보너스 조회 시 보너스가 없으면 0으로 출력
SELECT EMP_NAME, BONUS, NVL(BONUS,0) AS "NULL 처리후"
FROM EMPLOYEE;
SELECT EMP_NAME, DEPT_CODE, NVL(DEPT_CODE, '없음') AS "NULL 처리후"
FROM EMPLOYEE;
NVL2
NVL2(컬럼명, NULL이아닐때출력값, NULL일때출력값)
--보너스가 있는 사원은 보너스 있음, 보너스가 없는 사람은 보너스가 없음으로 조회
SELECT EMP_NAME,BONUS,NVL2(BONUS,'있음','없음') AS "보너스 유무"
FROM EMPLOYEE;
NULLIF
두 값이 동일할 경우 : NULL 반환
두 값이 상이할 경우 : 비교대상1 반환
NULLIF(비교대상1, 비교대상2)
SELECT NULLIF('123','123')
FROM DUAL; --NULL반환
SELECT NULLIF('123','456')
FROM DUAL; --'123'반환
반응형