MySQL函数返回了错误的值
我有一个有4个参数的函数,例如,如果我为第一个参数设置null/empty值,类型为DATE,我得到的结果是2,而不是1MySQL函数返回了错误的值,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
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。继续添加函数的其余部分。。