1. 程式人生 > >mysql 空值處理

mysql 空值處理

如函式

 

CREATE DEFINER=`root`@`localhost` FUNCTION `aaaaa`(
         product_code_                 varchar(20) ) RETURNS int(11)
BEGIN
   DECLARE temp_            int;
   DECLARE get_attr CURSOR FOR
           SELECT freq_rate
           FROM   aaaaa_tab
           AND    product_code = product_code_;
   DECLARE CONTINUE HANDLER FOR NOT FOUND SET temp_ = NULL;

   OPEN  get_attr;
   FETCH get_attr INTO temp_;
   CLOSE get_attr;

   RETURN temp_;
END

如果 其他儲存過程,或者函式呼叫該函式,返回了空值, 就容易出現不明原因的報錯 , 或者資料比較計算錯誤

可以設定一箇中間變數接收,然後判斷中間變數的值,再進行賦值處理

如:

有時候 直接用 (freq_rate = null)or(freq_rate = '') 做判斷條件的時候, 莫名判斷失敗如下圖