কম্পিউটার টিউটোরিয়াল

MySQL 저장 프로시저에서 매개변수 NULL 또는 빈 문자열 체크하기

저장 프로시저에서 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)로 공백만 있는 경우도 커버 가능.

  1. MySQL স্টোরড প্রোসিডিউর থেকে একাধিক প্রোসিডিউর কল করা

  2. MySQL স্টোরড প্রোসিডিউরে শর্ত সেট করা (IF...ELSE)

  3. MySQL-এ IFNULL() দিয়ে NULL মানকে ১ এবং নন-নালকে ১ যোগ করে আপডেট করা

  4. MySQL-এ স্টোরড প্রসিডিউরের ভেরিয়েবলে কলামের মান সংরক্ষণ করা