MSSQL显示百分比从两列计算

时间:2015-01-26 20:42:01

标签: sql-server

我在MSSQL中有一个名为' Bjob_History'包含一些备份作业的结果,表格如下所示

 ObjectName  SuccessCount  Failcount
 job1        80            2
 job2        80            1

我想单独对每个作业运行查询,以百分比形式返回成功率,我希望百分比返回到一个小数位,所以如果我对Job1运行查询,它将只返回&# 34; 97.6%"

我确实希望结果只返回百分比,而不是对象名和百分比,所以查询的结果应该看起来像

" 97.6%"

我不知道从哪里开始,任何帮助都会非常感激!

提前致谢

1 个答案:

答案 0 :(得分:-2)

好吧,我认为你的SuccessCount和FailCount都是整数。所以这个应该是你的去处:

SELECT 
ObjectName,
CONVERT(VARCHAR,(convert(decimal(12,2),SuccessRate) / (convert(decimal(12,2),SuccessRate)  + convert(decimal(12,2),FailRate))) * 100) + '%'
FROM Temp

SQL小提琴:http://sqlfiddle.com/#!3/8194d/7

如果您不想显示ObjectName,但想要显示Job1的成功率,请访问:

SELECT 
CONVERT(VARCHAR,(convert(decimal(12,2),SuccessRate) / (convert(decimal(12,2),SuccessRate)  + convert(decimal(12,2),FailRate))) * 100) + '%'
FROM Temp
WHERE ObjectName = 'Job1'