IT/ORACLE

[ORACLE] NVL 함수 사용법 - null값을 기본값으로 대체 하기

나콘 2023. 5. 8. 11:33

 

NVL:oracle 에서 NVL은 NULL 값을 기본값으로 대체하는 데 사용되는 함수이다.

 

 

 

NVL( 컬럼 , 값1)

: 이 함수는 NULL이 아니면 "값1"을 반환한다 

nvl 함수는 null값을 다른 지정된 값으로 바꾸는데 한개의 인수를 사용 

첫번째 인수는 null에 대해 확인할 값이고 두번째 인수는 첫 번째 인수가 null 인경우 사용할 대체값이다.

 

 

 

 

예>

 

이 쿼리는 "employees" 에서 직원의 salary를 검색한다 

그여 salary열에 NULL값이 있는 경우 NVL함수는 이를 기본값 0으로 바꾼다 

 

 


 

예>

 

현재 날짜에서 고용 날짜를 빼 직원이 회사에 근무한 일수를 계산한다.

직원에게 고용 날짜가 없는 경우 (즉,null인 경우) nvl함수는 null을 0으로 바꾸고 

해당 직원의 회사 근무 일수에 대해 0을 반환한다.

 

 


 

예>

 

"id", first_name","last_name","salary" 열이 있는 employees 라는 테이블이 있다

일부 직원은 아직 테이블에 급여 값이 저장되어 있지 않으며 급여를 공백으로 두는 대신 

'Not Available'

으로 표시하고 싶다.다음 과 같이 nvl기능을 사용하여 표현할 수 있다.

이 쿼리는 "employees" 테이블에서 모든 열을 선택하고 "salary" 열에 대해서 nvl 함수를 적용 

nvl함수는 각 행의 "salary" 값을 확인하고 null이면 두 번째 인수 ("Not Available")를 반환 

 

따라서 id = 1, first_name = "John", last_name = "Doe"인 직원이 있고 아직 테이블에 급여 값이 저장되지 않은 경우 쿼리는 다음 행을 반환한다 

 

 

NVL 함수는 데이터베이스 쿼리 및 애플리케이션 코드에서 NULL 값을 처리하기 위해 다양한 방법으로 사용될 수 있습니다

 

반응형