我在MSSQL中有一个名为' Bjob_History'包含一些备份作业的结果,表格如下所示
ObjectName SuccessCount Failcount
job1 80 2
job2 80 1
我想单独对每个作业运行查询,以百分比形式返回成功率,我希望百分比返回到一个小数位,所以如果我对Job1运行查询,它将只返回&# 34; 97.6%"
我确实希望结果只返回百分比,而不是对象名和百分比,所以查询的结果应该看起来像
" 97.6%"
我不知道从哪里开始,任何帮助都会非常感激!
提前致谢
答案 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'