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


你可以使用 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)
   -> );
Query OK, 0 rows affected (1.13 sec)

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

语句如下

mysql> insert into formatNumberDemo(Number) values(10000000000000.2);
Query OK, 1 row affected (0.15 sec)
mysql> insert into formatNumberDemo(Number) values(1000.4);
Query OK, 1 row affected (0.21 sec)
mysql> insert into formatNumberDemo(Number) values(1000000.6);
Query OK, 1 row affected (0.11 sec)
mysql> insert into formatNumberDemo(Number) values(100000000.7);
Query OK, 1 row affected (0.17 sec)
mysql> insert into formatNumberDemo(Number) values(100000000000000000.8);
Query OK, 1 row affected (0.15 sec)

使用 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)

更新于: 2019 年 7 月 30 日

1K+ 阅读

开启您的 职业生涯

完成课程,获得认证

开始
广告