1

将结果包含在美元符号中的最佳方式是什么?

我正在使用类似的东西,CONCAT('£', SUM(Deposits)) AS TotalDeposits但它似乎不起作用。

在此处输入图像描述

4

1 回答 1

1

MySQL 拥有一个FORMAT() 函数来进行数字格式化部分。

SET @amount := 123456.7890;
SELECT CONCAT('$',FORMAT(@amount,2,'en_US')),
       CONCAT('€',FORMAT(@amount,2,'de_DE'));

为您提供美国和德国格式。您必须自己输入货币符号;MySQL 的语言环境处理不会为您提供。

| ------------------------------------- | ------------------------------------- |
| $123,456.79                           | €123.456,79                           |
| ------------------------------------- | ------------------------------------- |

如果您正在处理其他人的钱,您可能希望使用类似DECIMAL(20,2)而不是 aFLOAT或的数据类型,DOUBLE这样您就不会在聚合函数(如SUM().

话虽如此:正如@ADyson 在他的评论中指出的那样,聪明的程序员经常在他们的应用程序而不是他们的数据库中处理这种格式。这是因为应用程序编程语言比数据库(至少是 MySQL)具有更完整的区域设置处理,并且您可以更好地控制它。

于 2020-09-08T22:10:43.913 回答