MySQL函数返回了错误的值

MySQL函数返回了错误的值,mysql,function,Mysql,Function,我有一个有4个参数的函数,例如,如果我为第一个参数设置null/empty值,类型为DATE,我得到的结果是2,而不是1 SET @p0=''; SET @p1=''; SET @p2=''; SET @p3=''; SELECT `MY_FN`(@p0, @p1, @p2, @p3) AS `MY_FN`; 我的代码: BEGIN IF PARAM1_DATE IS NULL or PARAM1_DATE='' THEN SET @STATUS = 1; ELSE

我有一个有4个参数的函数,例如,如果我为第一个参数设置null/empty值,类型为DATE,我得到的结果是2,而不是1

SET @p0=''; SET @p1=''; SET @p2=''; SET @p3=''; SELECT `MY_FN`(@p0, @p1, @p2, @p3) AS `MY_FN`;
我的代码:

BEGIN
 IF PARAM1_DATE IS NULL or PARAM1_DATE='' THEN 
        SET @STATUS = 1;
    ELSE 
        SET @STATUS = 2;
    END IF;
    
    
    RETURN @STATUS;
END

我也尝试过ISNULL(NULLIF(PARAM1_DATE“”),同样的结果

参数验证发生在函数代码执行之前。您需要确保日期有效(如果PARAM1_DATE数据类型是有效的)在函数调用中传递。如果要传递任何旧垃圾,请在函数中定义为char和test。

继续添加函数的其余部分。。