我试图简单地将数字格式化为带有两位小数的百分比。如果它是 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/