sql-server - MS SQL Server 中的数字格式为百分比

标签 sql-server tsql percentage

我试图简单地将数字格式化为带有两位小数的百分比。如果它是 37 除以 38(又名 .973684210526315789),我希望它在 SQL 输出中显示 97.36 %。我知道建议在应用程序中进行格式化,但这是为了自动导出。这是使用 SQL Server 2008。

这是我现在拥有的:

select CONVERT(VARCHAR(50),cast(37 as decimal)/cast(38 as decimal)*100)+' %' AS [%]

如果您能解释一下函数中的各种参数是什么,那将会很有帮助。

最佳答案

SQL Server 2012 及更高版本中,有 FORMAT()功能。您可以向其传递一个 'P' 参数来表示百分比。例如:

SELECT FORMAT((37.0/38.0),'P') as [Percentage] -- 97.37 %

support percentage decimal precision ,您可以使用 P0 表示无小数(整数),或使用 P3 表示 3 位小数 (97.368%)。

SELECT FORMAT((37.0/38.0),'P0') as [WholeNumberPercentage] -- 97 %
SELECT FORMAT((37.0/38.0),'P3') as [ThreeDecimalsPercentage] -- 97.368 %

关于sql-server - MS SQL Server 中的数字格式为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089490/

相关文章:

sql-server - SSRS 2016 - 看不到参数

sql-server - T-SQL : Filter with Dynamic Comparison Operator (=, <=, >=, ...)

sql - 您可以在 SQLServer 2k5 中的链接服务器表的 View 上使用外键吗?

sql-server - 如何在sql中为xml的所有子节点添加属性

c# - 基于百分比的概率

ExtJs:如何设置百分比宽度?

mysql - 如何解决Mysql排序错误?

sql - 在不复制 T-SQL 中的数据的情况下更新表变量

json - "expand"/在 MSSQL 上通过 JSON 值加入 SQL 选择

MySQL:如何更新随机选择的 50% 的行?