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 값을 처리하기 위해 다양한 방법으로 사용될 수 있습니다
'IT > ORACLE' 카테고리의 다른 글
[ORACLE] ROW_NUMBER() 중복되는데이터는 하나로 처리하기 (그룹별로 순번을 지정하여 하나의 행만 추출) (0) | 2023.06.30 |
---|---|
[ORALCE] NVL2 으로 NULL 값 처리하기 (0) | 2023.05.16 |
[ORACLE] WHERE 1=1는 왜 사용하는거야? (0) | 2023.05.16 |
오라클 원하는 위치의 문자열만 추출하기 SUBSTR 함수 사용하기 (0) | 2023.05.08 |
[ORACLE] 원본 테이블에 다른 테이블 병합하기 MERGE INTO 문 사용하기 (0) | 2023.05.04 |