DELIMITER $$
CREATE FUNCTION `monthtargetbyuser`(`userId` BIGINT,month VARCHAR(11),year VARCHAR(11)) RETURNS int(11)
BEGIN
DECLARE target,da BIGINT;
set da = year-month;
SET target = (SELECT ifnull(user_target.monthly_target,0) as monthly_target from user_target left join users on users.id=user_target.user_id where date_format(users.doj,'%Y-%m') <= 'da' and user_target.year=year and year(users.doj)>0 and users.locked !=1 and users.id =userId);
RETURN target;
END
Bei der Ausführung der in der Funktion angegebenen MySQL-Abfrage wird ein leeres Ergebnis oder null Zeilen zurückgegeben. Während der Ausführung der gespeicherten Funktion wird jedoch ein inkorrektes Ergebnis ausgegeben, d. H. Es wird ein Wert zurückgegeben. Wie überprüfe ich, ob die MySQL-Funktion ein leeres Ergebnis zurückgibt?Wie überprüft man, warum eine gespeicherte MySQL-Funktion ein leeres Ergebnis liefert?