mysql 空值處理
阿新 • • 發佈:2018-12-07
如函式
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 = '') 做判斷條件的時候, 莫名判斷失敗如下圖