SQL의 COALESCE 함수는 제공된 여러 인수 중 첫 번째 NULL이 아닌 값을 반환하는 데 사용됩니다.
NULL 처리를 위한 강력한 도구로, 여러 열 또는 표현식에서 대체 값을 설정하거나 기본값을 제공하는 데 유용합니다.
COALESCE(expression1, expression2, ..., expressionN)
예를 들어, 고객의 nickname이 NULL일 경우, real_name을 사용하고 싶을 때:
SELECT COALESCE(nickname, real_name) AS display_name FROM customers;
여러 대체값을 제공하여, 첫 번째 NULL이 아닌 값을 반환합니다.
SELECT COALESCE(nickname, real_name, 'Unknown') AS display_name FROM customers;
NULL 값을 처리하는 데 계산식과 함께 사용할 수도 있습니다.
SELECT COALESCE(salary, 0) + bonus AS total_income FROM employees;
Oracle 데이터베이스에서 사용되는 유사한 함수입니다. 두 개의 인수를 비교해 NULL인 경우 대체값을 반환합니다.
NVL(expression1, expression2)
SQL Server에서 사용되는 함수로, NULL을 대체합니다.
ISNULL(expression1, replacement_value)
사용자 테이블에서 last_login이 NULL인 경우 기본값으로 "1970-01-01"을 설정:
SELECT COALESCE(last_login, '1970-01-01') AS last_login_date
FROM users;
주소 데이터에서 우선순위에 따라 고객의 주소를 반환:
SELECT COALESCE(home_address, office_address, 'No Address Available') AS primary_address
FROM customer_addresses;
매출 테이블에서 특정 컬럼이 NULL인 경우 0으로 처리하여 합계 계산:
SELECT department_id, SUM(COALESCE(sales_amount, 0)) AS total_sales
FROM sales
GROUP BY department_id;
| 데이터베이스 SQL JOIN, LEFT JOIN 차이는? (0) | 2024.12.03 |
|---|---|
| DBMS 뜻? 종류? (1) | 2024.11.27 |
| 데이터베이스 SQL에서 다음행 찾는 LEAD( ) OVER ( ) 함수 (0) | 2024.11.23 |
| mysql workbench 자동 대문자 변환하는 방법 (0) | 2024.11.21 |
| PK 2개일 경우 인덱스 특징 (0) | 2024.11.21 |