DROP PROCEDURE IF EXISTS truncatZero;
CREATE PROCEDURE truncatZero ( IN num_limit INT )
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE rate VARCHAR(20) ;
WHILE i <= num_limit DO
SELECT most_rate INTO rate FROM hs_code_list_temporary_copy1 WHERE id = i;
WHILE RIGHT (rate,1) ='0' DO
SET rate = LEFT(rate, char_length(rate)-1 );
END WHILE;
IF RIGHT(rate,1) = '.' THEN UPDATE hs_code_list_temporary_copy1 SET most_rate = CONCAT(LEFT(rate, char_length(rate)-1 ),'%') WHERE id = i;
ELSE UPDATE hs_code_list_temporary_copy1 SET most_rate = CONCAT(rate,'%') WHERE id = i;
END if;
SET i = i + 1;
END WHILE;
END;
CALL truncatZero(100);
char_length :不区分中文英文都是按照个数计算
mysql 存储过程(去除尾部为0的数据)
最新推荐文章于 2024-07-27 08:13:59 发布