Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL COALESCE() 함수에서 모든 인수가 NULL일 때 반환되는 값은 무엇일까?

MySQL의 COALESCE() 함수는 인수 목록을 왼쪽부터 차례로 검사하여 처음으로 만나는 NULL이 아닌 값을 반환하는 함수입니다. 그렇다면 전달된 모든 인수가 NULL이라면 어떻게 될까요?

이 경우 COALESCE() 함수는 NULL을 반환합니다. 즉, 인수 목록 안에서 NULL이 아닌 값을 하나도 찾지 못했다는 의미입니다.

예제

mysql> Select COALESCE(NULL, NULL, NULL, NULL);
+----------------------------------+
| COALESCE(NULL, NULL, NULL, NULL) |
+----------------------------------+
|                                NULL |
+----------------------------------+

1 row in set (0.00 sec)

위 예제에서처럼 네 개의 인수가 모두 NULL이므로 함수는 최종적으로 NULL을 출력합니다. 따라서 실무에서 COALESCE() 함수를 사용할 때는 적어도 하나의 유효한(Non-NULL) 값 또는 기본값을 마지막 인수로 함께 지정해 주는 것이 좋습니다. 예를 들어 COALESCE(컬럼명, '기본값') 형태로 작성하면 컬럼 값이 NULL일 때에도 의미 있는 결과를 얻을 수 있습니다.