首页 > 解决方案 > 如何将我的结果格式化为逗号后的 2 位小数

问题描述

我对 SQL 世界很陌生,刚开始做查询。

在这种情况下,我正在计算一个数字占该其他数字的百分比。

这就是我正在做的事情:

百分比 = ROUND(((NULLIF(SUM(value_1), 0)) / NULLIF(SUM(value_2),0) * 100), 2),

即使我使用 ROUND(),结果还是一样,他们会在逗号后给我 6 位数字:

100.020000
56.800000
-33.330000
100.000000
42.490000

有没有办法用逗号后的 2 位数字来格式化这些数字?

谢谢!

标签: sqlformatdecimal

解决方案


假设您使用 sql server,您可以转换结果:

Percentage = Convert(numeric(10, 2), ROUND(((NULLIF(SUM(value_1), 0)) / NULLIF(SUM(value_2),0) * 100), 2))

或投射它:

Percentage = Cast(ROUND(((NULLIF(SUM(value_1), 0)) / NULLIF(SUM(value_2),0) * 100), 2) AS numeric(10, 2))

推荐阅读