[sql] NULL 처리 함수 (ISNULL, NULLIF, NVL 등)

SQL에서는 데이터베이스에서 NULL 값을 처리하는 여러 함수들이 제공됩니다. 이러한 함수들을 사용하여 NULL 값을 다른 값으로 대체하거나 검색하는 등의 작업을 수행할 수 있습니다. 이번 글에서는 주요 NULL 처리 함수들을 살펴보고 각각의 사용 예 및 차이점을 알아보겠습니다.

1. ISNULL 함수

ISNULL 함수는 첫 번째 매개변수의 값이 NULL인 경우 두 번째 매개변수의 값으로 대체합니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

SELECT ISNULL(column_name, 'N/A') FROM table_name;

위의 예제에서는 ‘column_name’이 NULL인 경우 ‘N/A’로 대체되어 출력됩니다.

2. NULLIF 함수

NULLIF 함수는 두 개의 매개변수를 비교하여 값이 같으면 NULL을 반환하고, 다를 경우 첫 번째 매개변수의 값을 반환합니다. 예를 들어,

SELECT NULLIF(column_name, 0) FROM table_name;

위의 예제는 ‘column_name’이 0과 같을 경우 NULL을 반환하고, 그렇지 않을 경우에는 ‘column_name’의 값을 반환합니다.

3. NVL 함수

NVL 함수는 첫 번째 매개변수의 값이 NULL인 경우 두 번째 매개변수의 값으로 대체합니다. Oracle에서 주로 사용되며, 다른 데이터베이스의 경우에는 COALESCE 함수를 대체하여 사용할 수 있습니다. 예를 들어,

SELECT NVL(column_name, 'N/A') FROM table_name;

위의 예제에서는 ‘column_name’이 NULL인 경우 ‘N/A’로 대체되어 출력됩니다.

결론

각각의 NULL 처리 함수들은 데이터베이스 시스템에 따라 지원되는 함수명이나 사용 방법이 다를 수 있으나, 기본적인 개념은 비슷합니다. 이러한 함수들을 적절히 활용하여 데이터 처리 및 출력에서 발생할 수 있는 NULL 값에 대한 예외 처리를 보다 효과적으로 수행할 수 있습니다.

참고 자료: MSDN - NULL 처리 함수