我想在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
,但仍然没有效果。
我在想什么/做错了什么?