我正在计算慈善机构的总金额。每行都有出价金额和慈善百分比。 字段的结构如下所示:
CurrentBid INT CharityPercentage INT< - 0-100,其中100捐赠给慈善机构
所以我试过这个:
SELECT CurrentBid, CharityPercentage, CurrentBid * (CharityPercentage / 100) AS TotalCharity FROM Items
然而它产生了这个:
50 100 50
70 100 70
25 50 0
50 25 0
30 10 0
55 15 0
只要百分比为100就可以正常工作。任何低于和低于0.我的猜测是它与int列有关。
关于如何解决它的任何想法?我也尝试在select语句中使用CAST转换int,但这不起作用。将INT列更改为其他内容是一个非常大的过程。
答案 0 :(得分:6)
明确地将至少一个值设为小数:
CurrentBid * CharityPercentage / 100.0 AS TotalCharity
答案 1 :(得分:0)
不要CAST - 相反,只需乘以1.00。这隐含地进行了CASTing。
SELECT CurrentBid, CharityPercentage, (1.00 * CurrentBid * CharityPercentage) / 100 AS TotalCharity FROM Items