Вычислить процентное соотношение между двумя числами SQL

Есть таблицавведите сюда описание изображения

Мне необходимо сделать update этой таблице в поле ReviwedPer. В это поле надо внести процентное соотношение между столбцами CreateReqCount и reviewedreqCount Пробовал сделать вот так

update #SalesTempReport
SET ReviewedPer = #SalesTempReport.CreateReqCount*#SalesTempReport.ReviewedReqCount/100

, но получаю стабильный результат 0. Тип данных столбца ReviewedPer float

Что я делаю не правильно? Если из update убрать деление на 100, то тогда все рассчитывается


Ответы (1 шт):

Автор решения: teran

как не казалось бы странным, но даже оператор деления имеет документацию. И вот относительно результата деления документация нам говорит нам следующее:

Если целочисленный аргумент dividend делится на целочисленный аргумент divisor, то результатом будет целое число, а дробная часть будет усечена.

там же говорится про приоритет типов данных и неявное преобразование типов.

В данном вопросе вам следует явно определить 100 как вещественный тип, либо записав его в виде 100.0 либо явно изменив тип, например, cast(100 as float).

Примеры:

SELECT 1/100
      ,1/100.0
      ,1/cast(100 as float)
→ Ссылка