NVL NVL2

2024. 2. 24. 17:41DB/SQLQuery

반응형
SELECT NVL(column_name, 'undefined') FROM table_name;

 

 

column_name은 검사할 값, 만약 해당 값이 NULL이면 'undefined'가 반환됨.

NVL 함수는 주어진 값이 NULL인 경우 대체값을 반환하는 함수이다.

 

결과 값의 안정성 보장, 디폴트 값 설정, 데이터 변환, 조건부 로직 처리, 데이터 비교에 사용되고 NULL 값으로 인한 오류를 방지하고, 데이터의 안정성과 일관성을 유지하는 데 유용하게 활용된다.

 


`NVL`과 `NVL2` 함수는 둘 다 `NULL` 값을 처리하는 함수이지만, 사용 목적과 방식에 약간의 차이가 있다. 

NVL2 함수는 세 개의 인수를 갖는다. 첫 번째 인수는 검사할 값이고, 두 번째 인수는 해당 값이 `NULL`이 아닐 때 반환할 값이고, 세 번째 인수는 해당 값이 `NULL`일 때 반환할 값이다.

SELECT NVL2(column_name, 'not_null_value', 'null_value') FROM table_name;




여기서 `column_name`이 `NULL`이 아닌 경우 'not_null_value'를 반환하고, `NULL`인 경우 'null_value'를 반환


따라서, `NVL` 함수는 대체값을 하나만 지정할 수 있지만, `NVL2` 함수는 대체값을 `NULL`이 아닌 경우와 `NULL`인 경우로 나누어서 지정할 수 있다. 이는 조건에 따라 다른 값이 반환되어야 할 때 유용하다.

 

 

반응형