본문 바로가기

ETC

[SQL] COALESCE 함수로 NULL 값 변환하기

반응형

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
반응형