SQL计算高于或低于的百分比

时间:2017-05-05 12:55:14

标签: sql-server percentage

我有以下值作为查询的结果。基于值,单元格必须采用颜色编码。

Value   Goal
------------
9.33    12

o包含值的单元格将根据输入的目标与值进行颜色编码 如果值等于或低于目标,则单元格将显示为绿色 如果值超出目标值5%以内,则细胞呈黄色 如果值超过目标值5%以上,则单元格将显示为红色

请指导如何计算目标内或之上的价值5%

1 个答案:

答案 0 :(得分:0)

测试值:

DECLARE @t_temp TABLE (Val  NUMERIC(16,2),
                       Goal NUMERIC(16,2))

INSERT INTO @t_temp (Val, Goal)
VALUES (9.33, 12),
(12,12),
(12.15, 12),
(12.66, 12),
(14, 12);

查询:

SELECT *,
       CASE 
         WHEN Val <= Goal          THEN 'GREEN'
         WHEN Val <= (Goal * 1.05) THEN 'YELLOW'
         ELSE                           'RED'
       END AS 'Color'
FROM @t_temp;

结果:

Val                                     Goal                                    Color
--------------------------------------- --------------------------------------- ------
9.33                                    12.00                                   GREEN
12.00                                   12.00                                   GREEN
12.15                                   12.00                                   YELLOW
12.66                                   12.00                                   RED
14.00                                   12.00                                   RED