MySQL 数字格式函数
MySQL中的FORMAT函数用于将数字格式设置为"#,###。##"格式,并四舍五入到小数点后一位。格式化数字后,它将以
字符串的形式返回值。
当我们计算数据库中的值(例如库存周转率或产品的平均净价)时,此功能很有用。计算结果是一个带有许多小数位的十进制值。在这种情况下,需要格式化这些数字以使用户易于理解。
因此,我们使用以下FORMAT语法 MySQL中的功能
此函数接受以下讨论的三个参数:
参数 |
说明 |
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
它将给出如下输出。