它应该是一个简单的任务,或简单的谷歌搜索,我已经空了。我想简单地计算一个等级百分比。我正在尝试使用:
Select round((133 / 150), 2) * 100
结果为0.我试图计算得分为89%。我已经尝试了多种组合,我开始认为它要么太复杂,不能用t-sql,要么就是不可能。我错过了什么?
答案 0 :(得分:4)
试试这个:
Select round((cast(133 as numeric(20,8))/ cast(150 as numeric(20,8))) * 100, 2)
当您需要小数值时,您在示例中使用整数。有关详细信息,请参阅here。
答案 1 :(得分:3)
尝试:
Select round(133.0 / 150) * 100
int
除以int
是int
,而1/2 = 0(整数截断)
更一般地说,如果你确保分子是一个浮点数(实数/十进制):
Select round(CAST(integervalue as real) / 150) * 100