DELIMITER $$ CREATE PROCEDURE GetMaxValue(IN str VARCHAR(255)) BEGIN DECLARE max_val FLOAT; DECLARE temp_val FLOAT; DECLARE val_str VARCHAR(10); DECLARE i INT DEFAULT 1; DECLARE len INT; SET len = LENGTH(str); SET max_val = NULL; WHILE i <= len DO IF SUBSTRING(str, i, 1) = ',' THEN SET temp_val = CAST(val_str AS FLOAT); IF max_val IS NULL OR temp_val > max_val THEN SET max_val = temp_val; END IF; SET val_str = ''; ELSE SET val_str = CONCAT(val_str, SUBSTRING(str, i, 1)); END IF; SET i = i + 1; END WHILE; SET temp_val = CAST(val_str AS FLOAT); IF max_val IS NULL OR temp_val > max_val THEN SET max_val = temp_val; END IF; SELECT max_val; END$$ DELIMITER ;

调用存储过程: CALL GetMaxValue('-2.79,-2.63,-1.96,-0.54,-0.44,-0.68,-0.62,-1.30,-1.49');

一个数组字符串-279-263-196-054-044-068-062-130-149以分割要求:获取最大值用mysql的存储过程 写代码

原文地址: https://www.cveoy.top/t/topic/bXZi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录