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

割引価格をintにしたい場合...

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

割引はintであると想定して1.0いるので、浮動小数点数にキャストするにはaを付加する必要があります。

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