SQL Server:舍入并添加百分号

DWa*_*ard 6 sql sql-server sql-server-2008

我有以下 SQL 查询返回结果,92.967013425802我需要将其格式化93%并添加百分号。我尝试将总和更改为舍入,但收到错误

函数“round”不是有效的窗口函数,不能与 OVER 子句一起使用。

我的查询:

select 
    count(*) * 100.0 / sum(count(*)) over()
from 
    db_table_MetaData
group by 
    MetaValue
order by 
    MetaValue
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

Mar*_*rco 5

select 
    --Cast(Round(count(*) * 100.0 / sum(count(*)), 0) as nvarchar(5) + '%' 
      CAST(Round(count(*) * 100.0 / sum(count(*)), 0) as nvarchar(5)) + '%'
from 
    db_table_MetaData
Run Code Online (Sandbox Code Playgroud)

这应该可以解决问题。

本质上,您可以使用 08/15ROUND()函数来获取数值。之后,将其转换为 anvarchar(x)并将一个字符串添加到字符串中。但是我现在没有方法检查我的语法。