将数字以百分比形式输出
想要找到一种将数字以人类可读的百分比形式输出的方法,而无需像下面这样进行手动的字符串处理:
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 |
+----------+-------------+-------------+
*/
解决方案
使用 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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。