【问题标题】:Change thousands seperator from comma to point将千位分隔符从逗号更改为点
【发布时间】:2018-08-16 09:44:44
【问题描述】:

我有一个查询物流成本的表格。
sqlfiddle 附表你可以找到here

要查询 Costs_Outbound,我使用以下 SQL:

SELECT country,
FORMAT(sum(Costs_Outbound), 2) as Costs_Outbound
FROM Logistics
GROUP BY country WITH ROLLUP

到目前为止,这一切都很好。


现在,我想将千位分隔符从 "," 更改为 "."
因此,我试图以某种方式使用解决方案here

SELECT country,
REPLACE(FORMAT(sum(Costs_Outbound), 2),",",".") as Costs_Outbound
FROM Logistics
GROUP BY country WITH ROLLUP

但是,到目前为止,我无法让它工作。
你知道我的代码哪里有错误吗?

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    使用这个功能FORMAT(number,2 ,'de_DE' )

    SELECT country,
    FORMAT(sum(Costs_Outbound), 2 ,'de_DE') Costs_Outbound
    FROM Logistics
    GROUP BY country WITH ROLLUP
    

    http://sqlfiddle.com/#!9/6bd97a/14

    【讨论】:

    • 完美。正是我要找的。我也在这里更新了它:sqlfiddle.com/#!9/6bd97a/16
    • @Michi 如果有帮助,请接受我的回答并点赞以表示感谢
    【解决方案2】:

    试试这个:用单引号替换双引号

    SELECT country,
    REPLACE(FORMAT(sum(Costs_Outbound), 2),',','.') as Costs_Outbound
    FROM Logistics
    GROUP BY country WITH ROLLUP
    

    【讨论】:

    • 谢谢伙计。它真的很好用。我现在面临的唯一问题是小数分隔符也转换为点。但是,我想把它作为一个逗号。你知道如何解决这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多