【问题标题】:How to format number with "." as thousand separator, and "," as decimal separator?如何用“。”格式化数字作为千位分隔符,“,”作为小数分隔符?
【发布时间】:2013-10-15 08:16:51
【问题描述】:

如何用“.”格式化数字作为千位分隔符,而“,”作为MySql中的小数分隔符?

我正在使用Format 之类的函数

SELECT Format(myNumber,2) as myNumberFormatted FROM ...

但返回类型是一个数字,如:

1,000,000.00

我想要

1.000.000,00

在 MySQL 中怎么做?

谢谢

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    MySQL>=5.5:

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

    MySQL

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

    【讨论】:

    • 我正在使用 MariaDB 5.5.50 并使用语言环境“de_DE”,它按预期工作。但是,对于语言环境“nl_NL”和“nl_BE”,千位分隔符完全缺失。这可能是一个错误。对于数字格式,我必须假装说荷兰语的访客是德国人(我不会告诉他们)。
    • 2021 年的问候。同样的问题仍然存在。还有fr-FR.
    • 好吧,7 年多来,答案就在这里——它从未声称为 MariaDB 工作过......
    【解决方案2】:

    指定区域设置。

    FORMAT(myNumber, 2, 'de_DE')
    

    【讨论】:

    • 需要 MySQL 5.5+ 但最好的解决方案
    猜你喜欢
    • 1970-01-01
    • 2018-01-26
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多