[sql] NULL 값 처리를 위한 스칼라 함수 (ISNULL, COALESCE 등)
NULL 값은 데이터베이스 테이블에서 종종 발생할 수 있는 문제 중 하나입니다. NULL 값을 어떻게 처리할지에 대한 적절한 접근 방법은 중요합니다. SQL에서는 ISNULL
및 COALESCE
와 같은 스칼라 함수를 사용하여 NULL 값을 처리할 수 있습니다.
ISNULL 함수
ISNULL
함수는 첫 번째 인수가 NULL일 때 두 번째 인수로 대체하는 데 사용됩니다. 예를 들어:
SELECT ISNULL(column_name, 'default_value') AS column_alias
FROM table_name;
위의 쿼리에서, column_name
이 NULL이면 default_value
로 대체됩니다.
COALESCE 함수
COALESCE
함수는 인수 목록 중 첫 번째로 NULL이 아닌 값을 반환합니다. 예를 들어:
SELECT COALESCE(column_name1, column_name2, column_name3, 'default_value') AS column_alias
FROM table_name;
위의 쿼리에서 column_name1
이 NULL이면 column_name2
가, column_name2
도 NULL이면 column_name3
이, 그리고 모든 값이 NULL이면 'default_value'
가 반환됩니다.
적합한 함수 선택
ISNULL
함수는 두 개의 인수를 가지고, COALESCE
는 여러 개의 인수를 가질 수 있다는 점이 주요한 차이점입니다. 따라서 단일 변수의 NULL 값 처리에는 ISNULL
함수를, 다수의 변수 중에서 NULL이 아닌 값을 찾을 때에는 COALESCE
함수를 사용하는 것이 좋습니다.
이처럼, SQL 스칼라 함수를 활용하여 NULL 값을 적절하게 처리할 수 있습니다.
참고문헌:
- Microsoft Docs, “ISNULL (Transact-SQL)” (https://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql)
- Microsoft Docs, “COALESCE (Transact-SQL)” (https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql)