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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19376297/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 19:07:56  来源:igfitidea点击:

How to format number with "." as thousand separator, and "," as decimal separator?

mysqlsql

提问by stighy

how to format number with "." as thousand separator, and "," as decimal separator in MySql?

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

I'm using Formatfunction like

我正在使用Format类似的功能

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

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

But return type is a number like:

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

1,000,000.00

instead i want

相反,我想要

1.000.000,00

How to do in MySQL ?

在 MySQL 中怎么做?

Thanks

谢谢

回答by Alma Do

MySQL>=5.5:

MySQL>=5.5:

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

MySQL<5.5:

MySQL<5.5:

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

回答by John Woo

specify locale.

指定语言环境。

FORMAT(myNumber, 2, 'de_DE')