2016-03-10 82 views
2

我已經在這裏看到了一些示例,以瞭解如何向sql中的值添加百分比,但如果我實際執行計算,則它們不匹配。SQL在計算中將百分比添加到值中

伊夫試圖「值+(值*百分比)」

任何其它實例中,我可以嘗試,我有一個值列和其將被用於制定出增加/減少量的百分比列。

+0

你能解釋一下你期望發生的事情與實際發生的事情嗎? –

+0

如果我有一個100的值,我增加10%的百分比,我應該得到110,因爲計算的值 – user3691566

+1

加1到你的百分比並乘以......「值*(1 +百分比)'100 * 110%= 110。 .. 9 *(1 + 5%)= 9.45(假設不是整數數學),所以它可能取決於數據類型的值。如果整數,你可能有一個問題,如果小數,你應該好的 – xQbert

回答

2

如果您需要向現有值添加百分比,然後將百分比加1並乘以該值。

Update table set value = value*(1+45%)

100 * 110(%)= 110 ...

9 *(1 + 5%)= 9.45 ...

8 *(1 + 100%)= 16

2 *(1 + 0%)= 2

這假定在表中的值是十進制開始與如果整數,那麼你將結束與一些舍入問題。

2

因此,你需要:

SELECT Value,Percentage,OtherColumns.....,VALUE + (value*percentage)/100 as newValue 
FROM YourTable 

如果您需要更新,它的工作方式相同:

UPDATE YourTable 
SET VALUE = VALUE + (value*percentage)/100 

您可以添加where子句僅過濾所需的記錄