mysql 空值处理

如函数sql

 

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

若是 其余存储过程,或者函数调用该函数,返回了空值, 就容易出现不明缘由的报错 , 或者数据比较计算错误函数

能够设置一个中间变量接收,而后判断中间变量的值,再进行赋值处理code

如:blog

有时候 直接用 (freq_rate = null)or(freq_rate = '') 作判断条件的时候, 莫名判断失败以下图get