无法将除法结果转换为浮点型或十进制类型

时间:2019-04-23 01:09:53

标签: tsql casting type-conversion

我在t-sql代码中进行了一次计算,预计将显示十进制结果(逗号后至少有2位数字) 我正在使用的字段是整数类型,但是计算结果是十进制

我尝试将CAST用作浮动对象,但无法正常工作

  (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 个答案:

答案 0 :(得分:2)

尝试在采用商之前显式地将分母强制转换为浮点数:

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

在上述方法中,由于商中的两个项之一是浮点数,因此另一个项(在这种情况下为count)也应提升为浮点数。