如何以指定的格式检索列中具有小数值的输出?


MySQL 的 FORMAT() 函数可以将数字转换为类似 #,###,###.### 的格式,该格式会四舍五入到指定的小数位数,并返回结果字符串。可以使用它来检索列中具有小数值的输出,并将其格式化为指定的格式。为了理解这一点,我们以包含以下数据的 ‘estimated_cost’ 表为例:

mysql> Select * from estimated_cost;
+----+-----------------+-----------+---------------+
| Id | Name_Company    | Tender_id | Tender_value  |
+----+-----------------+-----------+---------------+
| 1  | ABC Ltd.        | 110       | 256.3256879   |
| 2  | Chd Ltd.        | 116       | 8569.25647879 |
| 3  | City group Ltd. | 202       | 23647.2365987 |
| 4  | Hjkl Ltd.       | 215       | 6598.327846   |
+----+-----------------+-----------+---------------+
4 rows in set (0.00 sec)

现在,假设我们想查看 ‘Tender_value’ 列的值,精确到指定的小数位数,那么可以使用以下查询:

mysql> Select FORMAT(Tender_value,2) from estimated_cost;
+------------------------+
| FORMAT(Tender_value,2) |
+------------------------+
| 256.33                 |
| 8,569.26               |
| 23,647.24              |
| 6,598.33               |
+------------------------+
4 rows in set (0.00 sec)

以上查询返回精确到小数点后两位的 Tender_value 值。

mysql> Select FORMAT(Tender_value,1) from estimated_cost1;
+------------------------+
| FORMAT(Tender_value,1) |
+------------------------+
| 256.3                  |
| 8,569.3                |
| 23,647.2               |
| 6,598.3                |
+------------------------+
4 rows in set (0.00 sec)

以上查询返回精确到小数点后一位的 Tender_value 值。

更新于:2020年6月22日

492 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告