无法将除法结果转换为浮点或十进制类型
Posted
技术标签:
【中文标题】无法将除法结果转换为浮点或十进制类型【英文标题】:Can't convert division result into float or decimal type 【发布时间】:2019-04-23 01:09:52 【问题描述】:我的 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】:尝试在取商之前将分母显式转换为浮点数:
COUNT(ct.[ClientFK]) / CAST(ehrprg.AnnualGoalClientsServed AS float) AS [AnnualGoal]
在上述方法中,由于商中的两项之一是浮点数,因此另一个项(在本例中为计数)也应提升为浮点数。
【讨论】:
以上是关于无法将除法结果转换为浮点或十进制类型的主要内容,如果未能解决你的问题,请参考以下文章