1

这应该是一个简单的任务,或者一个简单的谷歌搜索,我都没有找到。我试图简单地计算成绩百分比。我正在尝试使用:

Select round((133 / 150), 2) * 100

结果为 0。我试图计算得到 89% 的分数。我尝试了多种组合,我开始认为使用 t-sql 太复杂或者不可能。我错过了什么?

4

2 回答 2

4

尝试这个:

Select round((cast(133 as numeric(20,8))/ cast(150 as numeric(20,8))) * 100, 2)

当您需要十进制值时,您在示例中使用整数。请参阅此处了解更多信息。

于 2010-09-28T15:08:24.603 回答
3

尝试:

Select round(133.0 / 150) * 100 

Anint除以 anint是 an int,并且 1 / 2 = 0(整数截断)

更一般地说,如果您确保分子是浮点数(实数/十进制):

Select round(CAST(integervalue as real) / 150) * 100 
于 2010-09-28T15:08:08.740 回答