我已经按照 sql 查询MySQL
返回了 2 位小数的结果。
FORMAT(((sold_amt - purchased_amt) * 5 / 100 * sold_qty), 2)
在存储过程中使用时它工作正常。但是当它用于 时MySQL Function
,它并没有给出预期的结果。相反,它给出了所有的十进制值。FORMAT(x, d)
工作吗MySQL Function
?
我的 MySQL 函数的完整代码是:
CREATE DEFINER=`root`@`localhost`
FUNCTION `get_capital_gain`(purchased_amt FLOAT, sold_amt FLOAT, sold_qty INT(5))
RETURNS FLOAT
BEGIN
IF sold_amt > purchased_amt THEN
RETURN FORMAT(((sold_amt - purchased_amt) * 5 / 100 * sold_qty), 2);
ELSE
RETURN 0.00;
END IF;
END$$