Dùng COALESCE(bien, gia_tri_mac_dinh) để thay NULL bằng giá trị mặc định. Tạo stored procedure:
mysql> DELIMITER //
CREATE PROCEDURE local_VariableDemo()
BEGIN
DECLARE value1 INT;
DECLARE value2 INT;
SELECT value1, value2;
SELECT CONCAT('After checking local variable is null the sum = ',
COALESCE(value1,0) + COALESCE(value2,0));
END //
DELIMITER ;
Gọi procedure:
mysql> CALL local_VariableDemo();
Kết quả (biến chưa gán giá trị → NULL):
+--------+--------+
| value1 | value2 |
+--------+--------+
| NULL | NULL |
+--------+--------+
1 row in set (0.00 sec)
+-----------------------------------------------------------------------------------------------------+
| concat('After checking local variable is null the sum = ',COALESCE(value1,0)+COALESCE(value2,0)) |
+-----------------------------------------------------------------------------------------------------+
| After checking local variable is null the sum = 0 |
+-----------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
Giải thích: COALESCE(value1,0) trả về 0 nếu value1 là NULL. Tổng = 0+0=0. Nếu gán SET value1=5; trước khi SELECT, kết quả sẽ là 5.