2010-09-28 62 views
1

它應該是一個簡單的任務,或簡單的谷歌搜索,我已經空了。我試圖簡單地計算一個等級百分比。我正在嘗試使用:使用T-SQL如何計算測試等級百分比?

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

結果爲0.我試圖計算得到89%的分數。我已經嘗試了多種組合,並且我開始認爲使用t-sql要麼太複雜,要麼不可能。我錯過了什麼?

回答

4

試試這個:

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

當你需要十進制值時,你在你的例子中使用整數。有關更多信息,請參閱here

3

嘗試:

Select round(133.0/150) * 100 

一種intint劃分爲int,和1/2 = 0(整數截斷)

更一般地,如果確保分子是一個浮子(實/十進制):

Select round(CAST(integervalue as real)/150) * 100