1
я хочу, чтобы моя функция возвращала "INC", если положить "INC" в функции параметровMySQL Функция IF() не возвращает значение, которое я декларировать
SELECT getEquivalentGrade('INC');
Выход: INC
DELIMITER $$
USE `nmsc_scholarship_db`$$
DROP FUNCTION IF EXISTS `getEquivalentGrade`$$
CREATE DEFINER =`root`@`localhost` FUNCTION `getEquivalentGrade`(grade CHAR(5))
RETURNS CHAR(5)
CHARSET latin1
BEGIN
DECLARE equivalent_grade CHAR(5);
IF (grade > 100)
THEN
SET equivalent_grade = '1';
ELSEIF (grade < 69)
THEN
SET equivalent_grade = '5';
ELSEIF (grade = 'INC')
THEN
SET equivalent_grade = grade;
ELSE
SET equivalent_grade = (SELECT equivalent_grade.`equivgrade`
FROM equivalent_grade
WHERE equivalent_grade.`fromgrade` <= grade AND equivalent_grade.`tograde` >= grade);
END IF;
RETURN equivalent_grade;
END$$
DELIMITER ;
прямо сейчас , если я буду исполнять эту функцию, это то, что я получаю.
SELECT getEquivalentGrade('INC');
Выход: 5
я просто уже решить. –
Я положил elseif grade = 'inc', затем set equal_grade = grade; вперед до elseif grade <69 –