저장 프로시저에서 IF 파라미터 IS NULL OR 파라미터 = '' THEN으로 NULL과 빈 문자열을 동시에 체크할 수 있습니다.
저장 프로시저 생성
mysql> DELIMITER //
mysql> CREATE PROCEDURE checkingForNullDemo(Name VARCHAR(20))
-> BEGIN
-> IF Name IS NULL OR Name = '' THEN
-> SELECT 'Adam Smith';
-> ELSE
-> SELECT Name;
-> END IF;
-> END
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
Case 1: NULL 전달
mysql> CALL checkingForNullDemo(NULL);
+------------+ | Adam Smith | +------------+ | Adam Smith | +------------+ 1 row in set (0.00 sec)
Case 2: 값 전달
mysql> CALL checkingForNullDemo('John Doe');
+----------+ | Name | +----------+ | John Doe | +----------+ 1 row in set (0.00 sec)
참고: IFNULL(Name, 'Adam Smith')나 COALESCE(Name, 'Adam Smith')로 간단히 대체 가능하지만, 빈 문자열('')은 NULL이 아니므로 별도 체크 필요. IF(TRIM(Name) = '' OR Name IS NULL, '기본값', Name)로 공백만 있는 경우도 커버 가능.