这应该是一个简单的任务,或者一个简单的谷歌搜索,我都没有找到。我试图简单地计算成绩百分比。我正在尝试使用:
Select round((133 / 150), 2) * 100
结果为 0。我试图计算得到 89% 的分数。我尝试了多种组合,我开始认为使用 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)
当您需要十进制值时,您在示例中使用整数。请参阅此处了解更多信息。
尝试:
Select round(133.0 / 150) * 100
Anint
除以 anint
是 an int
,并且 1 / 2 = 0(整数截断)
更一般地说,如果您确保分子是浮点数(实数/十进制):
Select round(CAST(integervalue as real) / 150) * 100