SQL在SUM()上使用FORMAT()

时间:2018-04-16 15:49:51

标签: mysql sql

我想在SUM上使用FORMAT来生成带逗号且没有小数位的货币样式格式。我正在尝试使用MySQL 5.7:

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

问题是这会彻底改变数据。如果没有这种格式,我会得到SUM 350914的正确结果,但是根据格式,我得到了350,所以只得到前3个数字。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

此查询会显示不同的样式以显示您的数据(Sql fiddle example)

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