MySQL Créer une fonction pour une plage de valeurs avec des nombres équivalents
-
29-10-2019 - |
Question
Quel est le problème avec cette fonction. Voici ma sortie attendue est
1 = 10
2 to 3 = 7
4 to 10 = 5
11 to 30 = 2
31 to 100 = 1
DELIMITER $$
DROP FUNCTION IF EXISTS `computeScore`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `computeScore`(`POS` INT(11)) RETURNS int(11)
READS SQL DATA
DETERMINISTIC
BEGIN
DECLARE ordinal INT;
SELECT (
CASE
WHEN POS < 2 THEN 10
WHEN POS >= 2 < 4 THEN 7
WHEN POS >= 4 < 11 THEN 5
WHEN POS >= 11 < 31 THEN 2
ELSE 1
END )
INTO ordinal;
RETURN ordinal;
RETURN 0;
END;
$$
DELIMITER ;
Sortie: j'en ai toujours 10
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow