MySQL 数字格式函数

17 Mar 2025 | 阅读 2 分钟

MySQL 中的 FORMAT 函数用于将数字格式化为“#, ###. ##”的格式,并根据指定的十进制位数进行四舍五入。格式化数字后,它将以字符串形式返回该值。

当我们在数据库中计算值时,例如库存周转率或产品的平均净价,此函数非常有用。计算结果是一个有许多小数位的十进制值。在这种情况下,需要将这些数字格式化为用户可理解的格式。

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

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

参数说明
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 Number Format Function

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

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

MySQL Number Format Function

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

我们将看到如下输出,其中我们可以看到 de_DE 区域设置使用 (,) 逗号作为小数点。

MySQL Number Format Function

让我们在数据库中理解上述函数。假设我们的数据库中有如下表,其中包含以下数据:

MySQL Number Format Function

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

这将产生如下输出,由于小数位数过多而不美观。

MySQL Number Format Function

我们可以使用 FORMAT 函数使其更好。执行以下语句,该语句将库存价值保留到两位小数。

这将产生如下输出:

MySQL Number Format Function
下一主题MySQL 排名函数