mysql - SQL 在 SUM() 上使用 FORMAT()

标签 mysql sql

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

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

问题是这会极大地改变数据。如果没有该格式,我会得到 SUM 350914 的正确结果,但如果使用适当的格式,我会得到 350,所以只有前 3 个数字。

我做错了什么?

最佳答案

您可以查看文档以了解 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 

关于mysql - SQL 在 SUM() 上使用 FORMAT(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49861412/

相关文章:

SQL选择PostgreSQL列中所有值的中间三分之一

python - MacOS X 安装 python MySQLdb 时出错

mysql - 保存双向不可空约束

mysql - 连接两个具有不同格式的主键和外键的表

sql - 甲骨文。无法理解 FOR 如何与子查询 SELECT INTO 一起使用

mysql - SQL Server 查询到 MySQL 查询的转换

php - 我可以在哪里存储数据库中每行更改的数组?

MySQL select 语句返回多个 SUM 和多个 WHERE

mysql - 提取长度始终不同的括号之间的数据

sql - Access SQL查询: How to only display most recent record of duplicates