ETC
[SQL] COALESCE 함수로 NULL 값 변환하기
lim
2022. 1. 23. 13:18
반응형
COALESCE함수는 인자로 주어진 컬럼들 중에서 NULL이 아닌 첫 번째 값을 반환하는 함수입니다. 만약 A, B라는 컬럼을 인자로 COALSESC 함수로 주게 되면 A 컬럼 값이 NULL 값이 아닌 경우 A 값을 리턴하고 A가 NULL이고 B가 NULL이 아닌 경우 B 값을 리턴합니다. 모든 인수가 NULL이면 NULL을 반환합니다.
헷갈리죠? 간단히 예제로 살펴보면 아래 기능을 합니다.
SELECT A, B, COALESCE(A,B) FROM table_a;
A | B | COALESCE(A, B) |
1 | NULL | 1 |
NULL | 2 | 2 |
NULL | NULL | NULL |
이러한 COALESCE함수의 기능을 활용하면 특정열의 NULL 값을 적절한 값으로 치환할 때 사용하기 용이합니다. 만약 아래와 같이 사용한다면 div 열에 값이 NULL이 아닌경우 div의 열값을 NULL인 경우에는 0 값을 리턴하므로 해당 열의 NULL을 0으로 변환해서 처리할 수 있습니다.
SELECT div, COALESCE(div, 0) FROM table_a;
div | COALESCE(div, 0) |
2 | 2 |
NULL | 0 |
5 | 5 |
반응형