Не удается преобразовать результат деления в тип с плавающей запятой или десятичный тип - PullRequest
1 голос
/ 23 апреля 2019

В моем коде t-sql есть расчет, который, как я ожидаю, покажет десятичный результат (не менее 2 цифр после запятой). Мои поля, которые я использую, имеют целочисленный тип, но результат вычисления - десятичный

Я пытался использовать CAST как float, но не сработает

  (COUNT(ct.[ClientFK]) / ehrprg.AnnualGoalClientsServed) AS [AnnualGoal]
 I tried:
  CAST((COUNT(ct.[ClientFK]) / ehrprg.AnnualGoalClientsServed) as float) 
                                                           AS[AnnualGoal]

Я ожидаю увидеть, по крайней мере, две цифры после запятой - 2/50 будет 0,04, а сейчас я получаю 0

Любой совет / помощь будет высоко ценится

1 Ответ

2 голосов
/ 23 апреля 2019

Попробуйте явно привести знаменатель к числу с плавающей точкой, прежде чем будет взято частное:

COUNT(ct.[ClientFK]) / CAST(ehrprg.AnnualGoalClientsServed AS float) AS [AnnualGoal]

В приведенном выше подходе, поскольку один из двух слагаемых в частном является с плавающей запятой, другой термин (в данном случае, количество) также должно быть повышено.

...