在MySQL存储过程中,如何检查本地变量是否为空?
使用COALESCE()来实现这个目的。让我们实现一个存储过程来检查本地变量是否为空 −
mysql> DELIMITER //
mysql> CREATE PROCEDURE local_VariableDemo()
BEGIN
DECLARE value1 int;
DECLARE value2 int;
select value1,value2;
select
concat('检查本地变量是否为空后的总和为 = ',COALESCE(value1,0)+COALESCE(value2,0));
END
//
Query OK, 0 rows affected (0.19 sec)
mysql> DELIMITER ;
使用CALL命令调用存储过程 −
mysql> call local_VariableDemo();
这将产生以下输出结果 −
+--------+--------+
| value1 | value2 |
+--------+--------+
| NULL | NULL |
+--------+--------+
1 row in set (0.00 sec)
+-----------------------------------------------------------------------------------------------------+
| concat('检查本地变量是否为空后的总和为 = ',COALESCE(value1,0)+COALESCE(value2,0)) |
+-----------------------------------------------------------------------------------------------------+
| 检查本地变量是否为空后的总和为 = 0 |
+-----------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
Query OK, 0 rows affected (0.03 sec)
阅读更多:MySQL 教程