2012-11-07 64 views
0

我試圖將一定比例的價格減去一個AS柱。SQL Server減去特定百分比

SELECT TOP 2 *, price - (price * (discount/100)) AS discountedPrice 
FROM products 
WHERE discount != 0 

但這似乎不起作用。我做錯了什麼?

我希望它這樣的,我們說的價格是500和折扣爲20。然後,它必須要減去那些20的500

所以500% - 20%,只是在SQL Server格式。

回答

1

你除以整數:20/100是0,而不是0.2

嘗試通過100.0

SELECT TOP 2 
*, 
price - (price * (discount/100.0)) AS discountedPrice 
FROM products 
WHERE discount != 0 

製作師如果你想在折扣價是int ...

SELECT TOP 2 *, 
CONVERT(int, price - (price * (discount/100.0))) AS discountedPrice 
FROM products 
WHERE discount != 0 
+0

這工作,但現在我得到那些醜陋的六(000000)零。任何想法如何擺脫這些? –

+0

如果你想要一個int,做'convert(int,price - (price *(discount/100.0)))' – podiluska

+0

謝謝! –

0

參考Link

SELECT TOP 2 *, price - (price * (discount/100.0)) AS discountedPrice FROM 
products WHERE discount != 0 
0

我假設折扣是一個整數,那麼你應該預先將一個1.0轉換爲一個浮點數。

price - (price * (1.0 discount/100))