MySQL 数字格式化函数

2024年10月21日 MySQL 数字格式化函数 极客笔记

MySQL 数字格式化函数

在MySQL中,FORMAT函数用于将数字按照”#, ###. ##”的格式进行格式化,并对其四舍五入到指定的小数位数。在格式化数字之后,它将以字符串的形式返回该值。

当在数据库中计算库存周转率或产品的平均净价等数值时,该函数非常有用。计算出的结果是一个带有许多小数位的十进制值。在这种情况下,需要对这些数字进行格式化以便用户理解。

因此,我们使用以下语法的FORMAT MySQL中的函数

FORMAT(N, D, locale);

此函数接受以下三个参数,如下所述:

参数 解释
N 这是我们想要格式化的数字。
D 这是我们想要将数字四舍五入到的小数位数。如果 D 为 0,则结果返回一个没有任何小数位的字符串。
locale 这是一个可选参数。它指定要使用的区域设置,确定小数点的结果、千位分隔符以及分隔符之间的分组。默认情况下,MySQL将使用 en_us 区域设置。

MySQL版本支持

FORMAT函数支持以下 MySQL版本 :

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0
  • MySQL 3.23.3

MySQL FORMAT函数示例

让我们通过各种示例来了解MySQL的FORMAT函数是如何工作的。

以下函数将数字格式化为保留三位小数。

mysql> SELECT FORMAT(12342.123456, 3);

执行以上函数后,我们将得到以下输出:

接下来,下面的语句使用FORMAT函数,其中第二个参数是 zero

mysql> SELECT FORMAT(13600.2021, 0);

执行后,我们将获得以下输出,我们可以看到结果没有任何小数位。

上面两个函数默认使用 en_US 地域设置。这是因为我们没有给函数提供任何地域设置。现在,该语句使用 de_DE 地域设置而不是 en_US。

mysql> SELECT FORMAT(13600.2021, 2, 'de_DE');

我们将得到下面的输出,我们可以看到de_DE区域设置使用逗号(,)作为小数点的操作符。

让我们来了解一下数据库中的上述函数。假设我们的数据库包含以下表格,其中包含以下数据:

我们可以使用以下语句计算衬衫的 库存价值

mysql> SELECT name, stock * MRP AS stock_value FROM shirts;

它将产生以下输出,由于许多小数位数,看起来不好。

我们可以使用FORMAT函数来改进。执行下面的语句,返回保留两位小数的股票价值。

mysql> SELECT i, 
FORMAT(stock*MRP, 2) AS stock_value 
FROM shirts ORDER BY stock_value;d, name

它将会输出如下内容。

本文链接:http://so.lmcjl.com/news/15901/

展开阅读全文