我有一个返回两个小数的 View 和一个使用游标选择 View 的过程,问题是当从游标的 FETCH 中检索值时,小数点被删除或者它是一个整数。
我试过不同版本的MySQL,都是一样的。
CREATE VIEW show_numbers AS SELECT 1.32, 3.01;
DELIMITER //
CREATE PROCEDURE calculate_numbers()
BEGIN
DECLARE number_1 DECIMAL DEFAULT 0.0;
DECLARE number_2 DECIMAL DEFAULT 0.0;
DECLARE result CURSOR FOR
SELECT * FROM show_numbers;
open result;
FETCH result INTO number_1, number_2;
close result;
SELECT number_1, number_2;
END
call calculate_numbers(); -- shows (1, 3) not(1.32, 3.01)
参见示例 here
最佳答案
您应该始终定义具有精度和小数位的 DECIMAL 数据类型。例如,您可以使用 DECIMAL(8,2)
。
参见 documentation .
关于mysql - 从 MySQL 中的 View 中选择的游标总是忽略过程中的小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58801033/