0
我在MySQL
下面的sql查詢返回2個小數位的結果。格式(x,d)不工作mysql函數
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$$
'FORMAT'返回一個字符串。你有你的函數聲明返回一個浮點數。所以字符串正在被轉換爲一個浮點數。 – Barmar