如何用“。”格式化数字 作为千位分隔符,“,”作为十进制分隔符?

您可以将format()方法用于分隔符。它将在大于或等于5.5的MySQL版本中工作。我们正在使用8.0.12版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

语法如下

SELECT FORMAT(yourColumnName, valueAfterDecimalPoint, 'de_DE') AS anyAliasNamefrom yourTableName;

为了理解上述语法,让我们创建一个表。创建表的查询如下

mysql> create table formatNumberDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Number DECIMAL(19,1)
   -> );

使用insert命令在表中插入一些记录。

查询如下

mysql> insert into formatNumberDemo(Number) values(10000000000000.2);
mysql> insert into formatNumberDemo(Number) values(1000.4);
mysql> insert into formatNumberDemo(Number) values(1000000.6);
mysql> insert into formatNumberDemo(Number) values(100000000.7);
mysql> insert into formatNumberDemo(Number) values(100000000000000000.8);

使用select语句显示表中的所有记录。

查询如下

mysql> select *from formatNumberDemo;

以下是输出

+----+----------------------+
| Id | Number               |
+----+----------------------+
| 1  | 10000000000000.2     |
| 2  | 1000.4               |
| 3  | 1000000.6            |
| 4  | 100000000.7          |
| 5  | 100000000000000000.8 |
+----+----------------------+
5 rows in set (0.00 sec)

这是使用'。'格式化数字的查询。作为千位分隔符,“,”作为十进制分隔符

mysql> SELECT FORMAT(Number, 3, 'de_DE') AS Numberformat from formatNumberDemo;

以下是输出

+-----------------------------+
| Numberformat                |
+-----------------------------+
| 10.000.000.000.000,200      |
| 1.000,400                   |
| 1.000.000,600               |
| 100.000.000,700             |
| 100.000.000.000.000.000,800 |
+-----------------------------+
5 rows in set (0.00 sec)