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

MySQL IFNULL() 함수란? 용도와 사용법 총정리

MySQL의 IFNULL()은 제어 흐름(control flow) 함수 중 하나로, 첫 번째 인자가 NULL이 아니면 첫 번째 인자를 그대로 반환하고, NULL이라면 두 번째 인자를 대신 반환하는 역할을 합니다. 주로 데이터 조회 시 NULL 값을 다른 기본값으로 치환하고 싶을 때 유용하게 활용됩니다.

기본 문법

IFNULL(expression1, expression2)

동작 방식은 다음과 같습니다.

  • expression1이 NULL이 아니면 → expression1을 반환
  • expression1이 NULL이면 → expression2를 반환
  • 두 인자가 모두 NULL이면 → NULL을 반환

사용 예제

아래 예제를 통해 IFNULL() 함수의 동작 방식을 확인할 수 있습니다.

1. 첫 번째 인자가 NULL인 경우

첫 번째 인자가 NULL이므로 두 번째 인자인 'Ram'이 반환됩니다.

mysql> Select IFNULL(NULL,'Ram');
+--------------------+
| IFNULL(NULL,'Ram') |
+--------------------+
| Ram                |
+--------------------+
1 row in set (0.00 sec)

2. 첫 번째 인자가 NULL이 아닌 경우

첫 번째 인자 'Shyam'이 NULL이 아니므로 그대로 'Shyam'이 반환됩니다.

mysql> Select IFNULL('Shyam','Ram');
+-----------------------+
| IFNULL('Shyam','Ram') |
+-----------------------+
| Shyam                 |
+-----------------------+
1 row in set (0.00 sec)

3. 두 인자가 모두 NULL인 경우

두 인자가 모두 NULL이면 결과 역시 NULL이 반환됩니다.

mysql> Select IFNULL(NULL,NULL);
+-------------------+
| IFNULL(NULL,NULL) |
+-------------------+
| NULL              |
+-------------------+
1 row in set (0.00 sec)

정리

IFNULL() 함수는 두 개의 인자만 받는 간단한 구조이지만, 실무에서는 테이블에 저장된 NULL 데이터를 화면에 표시할 때 기본값으로 대체하는 등 다양한 상황에서 자주 사용됩니다. 참고로 MySQL에서는 IFNULL() 외에도 비슷한 목적으로 COALESCE(), NULLIF() 같은 함수를 함께 활용하면 더욱 유연한 NULL 처리가 가능합니다.