2016-11-02 233 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