将数字以百分比形式输出

编程语言 2026-07-11

想要找到一种将数字以人类可读的百分比形式输出的方法,而无需像下面这样进行手动的字符串处理:

SELECT ROUND(100.0 * number_col, 2) || '%'

相当于T-SQL的 FORMAT Percent format specifier (P)

SELECT s.c, 
  FORMAT(s.c, 'P') AS c_format_P,
  FORMAT(s.c, 'P3') AS c_format_P3
FROM (VALUES (1.2),(0.5), (0.25263), (0.10001), (0), (NULL)) AS s(c);
/*
+----------+-------------+-------------+
|    c     | c_format_P  | c_format_P3 |
+----------+-------------+-------------+
| 1.20000  | 120.00%     | 120.000%    |
| 0.50000  | 50.00%      | 50.000%     |
| 0.25263  | 25.26%      | 25.263%     |
| 0.10001  | 10.00%      | 10.001%     |
| 0.00000  | 0.00%       | 0.000%      |
| null     | null        | null        |
+----------+-------------+-------------+
*/

db<>fiddle演示

解决方案

使用 TO_VARCHAR 搭配数值格式 TM9%

SELECT s.c, 
  TO_VARCHAR(s.c, 'TM9(2)%') AS c_format_P,
  TO_VARCHAR(s.c, 'TM9(3)%') AS c_format_P3
FROM (VALUES (1.2),(0.5), (0.25263), (0.10001), (0), (NULL)) AS s(c);

在此输入图片描述

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章