MySQL 数字格式函数

一、MySQL FORMAT 函数 语法

MySQL 中的 FORMAT 函数用于将数字格式化为“#,###.##”的格式,并在某些小数位处四舍五入。格式化数字后,它会将值作为字符串返回。

当我们计算数据库中的值(如库存周转率或产品的平均净价)时,此功能很有用。计算结果为小数点后多位的十进制值。在这种情况下,需要格式化这些数字以便用户理解。

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

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 函数 示例

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

以下函数将数字格式化为小数点后三位。

mysql> SELECT FORMAT(12342.123456, 3);  

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

接下来,以下语句使用 FORMAT 函数,其中第二个参数为零。

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  

它将给出如下输出。

热门文章

优秀文章