我试图将我的价格的一定百分比减去一个 AS 列。
SELECT TOP 2 *, price - (price * (discount/100)) AS discountedPrice
FROM products
WHERE discount != 0
但这似乎行不通。我做错了什么?
我想要这样,假设价格是 500,折扣是 20。然后它必须减去这 20 作为 500 的百分比。
所以 500 - 20%,只是 SQL Server 格式。
我试图将我的价格的一定百分比减去一个 AS 列。
SELECT TOP 2 *, price - (price * (discount/100)) AS discountedPrice
FROM products
WHERE discount != 0
但这似乎行不通。我做错了什么?
我想要这样,假设价格是 500,折扣是 20。然后它必须减去这 20 作为 500 的百分比。
所以 500 - 20%,只是 SQL Server 格式。
你正在划分整数: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
参考:链接
SELECT TOP 2 *, price - (price * (discount/100.0)) AS discountedPrice FROM
products WHERE discount != 0
我假设折扣是一个整数,那么你应该在前面加上一个1.0
将它转换为浮点数。
price - (price * (1.0 discount/100))