Вычислить процентное соотношение между двумя числами SQL
Мне необходимо сделать update этой таблице в поле ReviwedPer. В это поле надо внести процентное соотношение между столбцами CreateReqCount и reviewedreqCount Пробовал сделать вот так
update #SalesTempReport
SET ReviewedPer = #SalesTempReport.CreateReqCount*#SalesTempReport.ReviewedReqCount/100
, но получаю стабильный результат 0. Тип данных столбца ReviewedPer float
Что я делаю не правильно? Если из update убрать деление на 100, то тогда все рассчитывается
Ответы (1 шт):
как не казалось бы странным, но даже оператор деления имеет документацию. И вот относительно результата деления документация нам говорит нам следующее:
Если целочисленный аргумент dividend делится на целочисленный аргумент divisor, то результатом будет целое число, а дробная часть будет усечена.
там же говорится про приоритет типов данных и неявное преобразование типов.
В данном вопросе вам следует явно определить 100 как вещественный тип, либо записав его в виде 100.0 либо явно изменив тип, например, cast(100 as float).
Примеры:
SELECT 1/100
,1/100.0
,1/cast(100 as float)
