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()
函数,而不是 CAST
或 CONVERT
:
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;
正在尝试使用 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()
函数,而不是 CAST
或 CONVERT
:
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;