0

我试图将我的价格的一定百分比减去一个 AS 列。

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

但这似乎行不通。我做错了什么?

我想要这样,假设价格是 500,折扣是 20。然后它必须减去这 20 作为 500 的百分比。

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

4

3 回答 3

1

你正在划分整数:20/100 是 0,而不是 0.2

尝试除以 100.0

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

如果您希望折扣价是一个整数...

SELECT TOP 2 *, 
CONVERT(int, price - (price * (discount/100.0))) AS discountedPrice 
FROM products
WHERE discount != 0
于 2012-11-07T09:12:16.143 回答
0

参考链接

SELECT TOP 2 *, price - (price * (discount/100.0)) AS discountedPrice FROM 
products WHERE discount != 0
于 2012-11-07T09:13:36.697 回答
0

我假设折扣是一个整数,那么你应该在前面加上一个1.0将它转换为浮点数。

price - (price * (1.0 discount/100))
于 2012-11-07T09:14:46.863 回答