#创建现值计算函数
set global log_bin_trust_function_creators=1;
delimiter//
DROP FUNCTION if exists PV;
CREATE FUNCTION PV(PV0 float,g1 float,g2 float,i float,n int)
RETURNS float
BEGIN
declare SPV float default 0;
declare SPV1 float default 0;
declare SPV2 float default 0;
declare PVt float default 0;
declare t int;
set t = 1;
set SPV2 = PV0*power(1+g1,n)*(1+g2)/((i-g2)*power(1+i,n);
while t<=n do
set PVt = PV0*power(1+g1,t)/power(1+i,t);
set SPV1 = SPV1 + PVt;
set t = t+1;
end while;
set SPV = SPV1+SPV2;
RETURN SPV;
END//
delimiter;
初学,期待各位码神帮看看,修改一下,谢谢!