mysql 空值处理

原创
2018/08/08 11:07
阅读数 466

如函数

 

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 = '') 做判断条件的时候, 莫名判断失败如下图

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部