2016-11-02 199 views
0

對於MYSQL中的用戶定義函數,我將一個參數傳遞給udf(a int);MySQL:用戶定義函數

如果a爲NULL返回2.0; 否則返回3.0

`DELIMITER ! 
CREATE FUNCTION return val(a INTEGER) RETURNS NUMERIC(10,2) 
BEGIN 
    If (isNULL(a)) THEN return 2.0 
    ELSE RETURN 3.0; 
    END IF; 
END! 

DELIMITER ;` 

這是做正確的方式?

+0

是的,很顯然,沒有一個函數調用'isNull',所以我怎麼能告訴了'了'是否是NULL – wrek

+0

所以,我將它改爲'if(SELECT a IS NULL)THEN RETURN 2.0' – wrek

+0

ifNull如何替換isNull? – bogzy

回答

1

您也可以使用CASE語句試試這個:

CASE WHEN a IS NULL or a = '' 
    then '2.0' 
    else '3.0' 
END