2013-06-13 3 views
3

Я работаю над таблицей, которая будет создавать выходные данные за квартал за квартал. У меня в основном есть два столбца со значениями за каждый квартал ("Q1 2013" и "Q4 2012"). Я создал еще один столбец, который дает разницу между двумя значениями ("Q/Q"). Я хочу создать еще один столбец, который затем преобразует разницу в процентах ("Q%"). Мой код в настоящее время выглядит следующим образом:Вычисление процентной разницы в значениях между двумя столбцами при возврате SQL 0

SELECT STATION, "Q4 2012", "Q1 2013", "Q/Q", (("Q/Q"/"Q4 2012") * 100.00) AS "Q%" 
FROM "STATION FIGURES"; 

Выход я в Q%0.00 только что-то раздражает. Кто-нибудь знает, что я делаю неправильно? Поблагодарили бы за любую помощь.

+0

Является ли база данных SQL Server? –

+1

«Q/Q» и «Q4 2012» оба типа integer? Если да, тогда попробуйте '((« Q/Q »* 100.00) /« Q4 2012 ») AS« Q% »'. – mbeckish

ответ

2

SQL Server выполняет целочисленное деление, когда два значения являются целыми числами. Преобразуйте одно в десятичное представление или поплавок:

SELECT STATION, "Q4 2012", "Q1 2013", "Q/Q", 
     ((cast("Q/Q" as float)/"Q4 2012") * 100.00) AS "Q%" 
FROM "STATION FIGURES"; 
+0

Спасибо, что вернулись ко мне так быстро. mbeckish, ваше решение сработало очарование! – kksf

Смежные вопросы