[sql] NULL 값 처리를 위해 사용되는 함수들 소개
NULL 값은 데이터베이스 테이블에서 값이 존재하지 않음을 나타냅니다. 때로는 이러한 NULL 값을 처리하고 제어하는 것이 중요합니다. SQL에서는 NULL 값 처리를 위해 다양한 함수들을 제공하고 있습니다. 여기서는 그 중 몇 가지를 살펴보겠습니다.
COALESCE 함수
COALESCE 함수는 주어진 값들 중 첫 번째로 NULL이 아닌 값을 반환합니다. 즉, COALESCE 함수를 사용하면 NULL 값을 다른 값으로 대체할 수 있습니다.
SELECT COALESCE(column1, 'NA') AS column1_val
FROM table_name;
위 예시에서는 ‘column1’이 NULL일 경우 ‘NA’로 값을 대체하여 반환합니다.
ISNULL 함수
ISNULL 함수는 첫 번째 인자가 NULL이 아니면 첫 번째 인자를, 그렇지 않으면 두 번째 인자를 반환합니다.
SELECT ISNULL(column1, 'NA') AS column1_val
FROM table_name;
위 예시에서도 ‘column1’이 NULL일 경우 ‘NA’로 값을 대체하여 반환합니다.
IFNULL 함수 (MySQL)
IFNULL 함수는 첫 번째 인자가 NULL이 아니면 첫 번째 인자를, 그렇지 않으면 두 번째 인자를 반환합니다. MySQL에서만 사용 가능한 함수입니다.
SELECT IFNULL(column1, 'NA') AS column1_val
FROM table_name;
NVL 함수 (Oracle)
Oracle에서는 NVL 함수를 사용하여 NULL 값을 다른 값으로 대체할 수 있습니다.
SELECT NVL(column1, 'NA') AS column1_val
FROM table_name;
위 함수들을 사용하여 NULL 값 처리를 유연하게 제어할 수 있습니다. 데이터베이스에서 NULL 값이 발생하는 상황에 대비하여 이러한 함수들을 적절히 활용하는 것이 중요합니다.
참고 문헌:
- https://www.w3schools.com/sql/sql_isnull.asp
- https://www.mysqltutorial.org/mysql-ifnull/
- https://docs.oracle.com/cd/B28359_01/server.111/b28286/functions023.htm