在 MySQL 儲存過程中,如何檢查區域性變數是否為 null?


對此,請使用 COALESCE()。我們實現一個儲存過程來檢查區域性變數是否為 null −

mysql> DELIMITER //
mysql> CREATE PROCEDURE local_VariableDemo()
   BEGIN
   DECLARE value1 int;
   DECLARE value2 int;
   select value1,value2;
   select
   concat('After checking local variable is null the sum is = ',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('After checking local variable is null the sum is = ',COALESCE(value1,0)+COALESCE(value2,0)) |
+-----------------------------------------------------------------------------------------------------+
| After checking local variable is null the sum is = 0                                                |
+-----------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
Query OK, 0 rows affected (0.03 sec)

更新於: 03-Oct-2019

410 人次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.