我想在SQL中計算一些性能指標爲[RATE]
但無論我做什麼我只獲取整數值作爲回報。計算被四捨五入SQL Server 2012
在我的數據集中,我有一個Numerator和一個分母,它們都被存儲爲整數,並被分解爲組和子集。費率根據組和子集計算略有不同。對於組1,計算僅僅是N/D。對於組2,除了計算出的1個子集(N * 10000)/ D之外,計算是(N * 1000)/ D。
我寫的查詢爲:
SELECT [Group]
,[SubSet]
,[Numerator] N
,[Denominator] D
,CASE WHEN D=0 Then NULL
WHEN [Group]='G1' THEN [N]/[D]
WHEN [SubSet]='S2' THEN ([N]*10000)/[D]
WHEN [SubSet] NOT LIKE 'S2%' AND [G] NOT LIKE 'G1%' THEN ([N]*1000)/[D] as [RATE]
不管我做什麼,結果變量均爲整數。我試過格式RATE
,因爲varchar
,decimal
和float
沒有成功。我嘗試將N和D格式更改爲varchar
,decimal
和float
。我試着將公式從(N*1000)/D
改爲(N/D)*1000
,但仍然沒有效果。
我在想什麼/做錯了什麼?