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