MySql 转换为 DECIMAL(8,2) 无效

MySql Converting to DECIMAL(8,2) not working

正在尝试使用 MYSQL 并转换名为 "FinalPrice" 的计算列。公式是这样的

([InitialPrice]/(100))*((100)-[PercentageOff]))

我的数据库中的 InitialPrice 和 PercentageOff 都是数据类型 DECIMAL(8, 2)

我面临的问题是我似乎无法在公式中转换数据类型。似乎无法弄清楚问题是什么。我试图获得数据类型为 DECIMAL(8,2)

的输出

我试过这个只是为了检查它是否有效,

 (CONVERT([int],[InitialPrice]/(100))*((100)-[PercentageOff]))

但是这个公式没有,

 (CONVERT([DECIMAL(8,2)],[InitialPrice]/(100))*((100)-[PercentageOff]))

我收到的错误消息状态 "Error validating the formula for column 'FinalPrice'."

有没有我遗漏的东西?

你最好使用 ROUND() 函数,而不是 CASTCONVERT:

http://sqlfiddle.com/#!9/ff0b8/1

SELECT *,
ROUND( InitialPrice*((100-PercentageOff)/100),2) FinalPrice,
CAST(InitialPrice*((100-PercentageOff)/100) AS DECIMAL(8,2)) FinalPrice1
FROM table1;