如何在 MySQL 中对 SUM() 使用 FORMAT()

问题描述 投票:0回答:2

我想在

FORMAT
的结果上使用
SUM
来生成带有逗号且没有小数位的货币样式格式。

我正在使用 MySQL 5.7 尝试以下操作:

SELECT FORMAT(SUM(x.07_17 / fx.07_17), 0) AS total

问题

问题是这会极大地改变文本输出。

  • 没有格式,我得到正确的 SUM 结果:
    350914
  • 格式到位后,我只得到前 3 个数字:
    350

我做错了什么?

sql mysql formatting decimal
2个回答
0
投票

您可以查看文档以了解 FORMAT 函数的每个参数如何工作https://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_format

此查询向您显示不同的样式来显示数据(Sql 小提琴示例)

SELECT SUM(c1 / c2)                                   AS total1
     , CONCAT(FORMAT(SUM(c1 / c2), 3, 'fr_FR'), ' €') AS total2
     , CONCAT('$', FORMAT(SUM(c1 / c2), 3))           total3
FROM   ( SELECT 148277 c1
              , 5.1561 c2 ) t 

-1
投票

您可以使用 MySQL 中的 FORMAT() 函数,然后它会根据需要添加千位分隔符和小数分隔符。 例子 在 MySQL 中,FORMAT() 函数接受数字作为第一个参数,后跟小数点位置:

选择格式(123456.789, 2); 结果:

123,456.79

参考此页面:如何在MySQL中使用逗号格式化数字

© www.soinside.com 2019 - 2024. All rights reserved.