2024年10月21日 MySQL 数字格式化函数 极客笔记
在MySQL中,FORMAT函数用于将数字按照”#, ###. ##”的格式进行格式化,并对其四舍五入到指定的小数位数。在格式化数字之后,它将以字符串的形式返回该值。
当在数据库中计算库存周转率或产品的平均净价等数值时,该函数非常有用。计算出的结果是一个带有许多小数位的十进制值。在这种情况下,需要对这些数字进行格式化以便用户理解。
因此,我们使用以下语法的FORMAT MySQL中的函数
FORMAT(N, D, locale);
此函数接受以下三个参数,如下所述:
参数 | 解释 |
---|---|
N | 这是我们想要格式化的数字。 |
D | 这是我们想要将数字四舍五入到的小数位数。如果 D 为 0,则结果返回一个没有任何小数位的字符串。 |
locale | 这是一个可选参数。它指定要使用的区域设置,确定小数点的结果、千位分隔符以及分隔符之间的分组。默认情况下,MySQL将使用 en_us 区域设置。 |
FORMAT函数支持以下 MySQL版本 :
让我们通过各种示例来了解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/