如何使用"."作为千位分隔符和","作为小数分隔符格式化数字?

13
如何在MySQL中使用"."作为千位分隔符,","作为小数点分隔符格式化数字?
我正在使用Format()函数,例如:
SELECT Format(myNumber, 2) AS myNumberFormatted 
FROM ...

但它返回一个类似于数字的值:

1,000,000.00

相反,我想要:

1.000.000,00

怎么在MySQL中实现这个?谢谢
2个回答

26

MySQL>=5.5:

SELECT FORMAT(10000000.5, 2, 'de_DE') AS format

MySQL<5.5:

SELECT REPLACE(REPLACE(REPLACE(FORMAT(10000000.5,2), ',', ':'), '.', ','), ':', '.') AS format

4
我正在使用MariaDB 5.5.50,并使用区域设置“de_DE”,它的工作表现符合预期。然而,对于区域设置“nl_NL”和“nl_BE”,千位分隔符完全缺失,这可能是一个bug。为了数字格式化,我不得不假装荷兰语访问者是德国人(我不会告诉他们)。 - KIKO Software
来自2021的问候。同样的问题仍然存在。fr-FR也有这个问题。 - Manngo
好的,对于这个问题已经存在了7年 - 它从来没有声称适用于MariaDB。 - Alma Do

8

需要 MySQL 5.5+,但最好的解决方案 - exussum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接