2012-11-07 2 views
0

나는 내 가격의 일정 비율을 AS 콜럼으로 뺍니다.SQL Server 특정 백분율 빼기

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

그러나 이것은 작동하지 않는 것 같습니다. 나는 무엇을 잘못 했는가? 나는 이런 식으로 원하는

,의 가격이 500이라고하자 할인 (20)가 그 다음은 500

그래서 500의 비율로 그 (20)를 빼기해야합니다입니다 - 단지 SQL 서버 형식으로, 20 % .

답변

1

당신은 정수를 나누어있어 : 20/100 당신이 할인 된 가격의 int하고 싶다면하지 0.2

은 ... 100.0

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

에 의해 분할을 시도, 0

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

그래도 효과가 있지만 이제는보기 흉한 6 (000000) 개의 0을 얻습니다. 어떤 생각을 어떻게 없애겠습니까? –

+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

할인이 int라고 가정하면 부동 소수점 숫자로 변환하려면 1.0 앞에 붙여야합니다.

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