如何为SQL中SUM聚合函数的计算结果添加千位分隔符
SQL SUM聚合结果添加千位分隔符实现方案
千位分隔符属于数值类的展示格式化属性,更推荐在应用前端、报表工具层做处理,若必须在SQL查询阶段实现,可根据你使用的数据库类型选择对应语法,替换原代码行ROUND(SUM(soh.SubTotal),2) as 'Ventes en 2013'即可:
- MySQL / MariaDB
直接调用内置FORMAT函数,自动生成千位分隔符且支持指定小数位数:FORMAT(SUM(soh.SubTotal), 2) as 'Ventes en 2013' - SQL Server
调用FORMAT函数,指定标准数值格式化参数N2(保留2位小数+千位分隔符):FORMAT(SUM(soh.SubTotal), 'N2') as 'Ventes en 2013' - Oracle
调用TO_CHAR函数,通过格式掩码定义输出规则:
格式掩码可根据业务实际的数值最大值调整前缀的TO_CHAR(ROUND(SUM(soh.SubTotal),2), '999,999,999,990.00') as "Ventes en 2013"9的数量,0表示整数部分至少保留1位,避免0值时返回空字符串。 - PostgreSQL
调用TO_CHAR函数,添加FM前缀去除输出字符串的前置多余空格:TO_CHAR(ROUND(SUM(soh.SubTotal),2), 'FM999,999,999,990.00') as "Ventes en 2013"
注意:以上所有格式化实现返回的结果都是字符串类型,若后续需要对该字段做数值计算、排序等操作,建议额外保留原始的数值聚合字段仅用于后台逻辑,格式化后的字段仅用于前端展示。
内容的提问来源于stack exchange,提问作者LostITStudent
相关产品推荐
相关产品推荐

