새소식

반응형
DataBase/MySQL

[MySQL] 마이SQL COALESCE() 를 활용한 NULL 처리

  • -
반응형

2022-03-11


Photo by Evie S. on Unsplash

SELECT 쿼리 조회 시 NULL을 리턴하는 경우 어디서 예외처리를 하던 db 에서나 애플리케이션 단에서나 오류가 발생하게 된다. 이와 같은 SELECT 쿼리 조회시 발생할 수 있는 NULL처리를 간단히 하는 함수중 COALESCE에 대하여 알아보자.


- 정의

 

COALESCE(x, y) = (CASE WHEN x IS NOT NULL THEN x ELSE y END)

 

공식문서에는 위와 같은 형식으로 간단히 그 의미를 표현하고 있다. 이를 해석하면 해당 함수의 매개 값 중 앞에 있는 값(X)이 NULL이 아니면 앞에 값(X)을 아닐 경우 다음 매개변수(Y)를 체크하여, 그 값을 리턴한다. 이해가 어려울 수 있으니 아래의 예시를 보자.


- 예시

 

-- 1을 리턴한다.
SELECT COALESCE(1, NULL);
-- 2를 리턴한다.
SELECT COALESCE(NULL, 2, 3);
-- 3을 리턴한다.
SELECT COALESCE(NULL, NULL, 3);

 

위의 예시를 보면 주어진 매개변수 순서대로 NULL 값을 체크하여, 매개변수 중 가장 첫 번째 NULL이 아닌 값을 리턴하는 것을 볼 수 있다. 매개변수는 2개가 아닌 여러 개를 넣을 수도 있다.


메인 이미지 출처 : Photo by Evie S. on Unsplash  

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.