📅  最后修改于: 2020-11-19 00:58:49             🧑  作者: Mango
MySQL中的FORMAT函数用于将数字格式化为“#,###。##”的格式,并在某些小数位后四舍五入。格式化数字后,它将以字符串返回值。
当我们计算数据库中的值(例如库存周转率或产品的平均净价)时,此函数很有用。计算结果是一个带有许多小数位的十进制值。在这种情况下,需要格式化这些数字以使用户易于理解。
因此,我们在MySQL中使用FORMAT函数的以下语法
FORMAT(N, D, locale);
此函数接受以下讨论的三个参数:
Parameter | Explanation |
---|---|
N | It is a number that we want to format. |
D | It is a number of decimal places that we want to round the number. If D is 0, the result returns a string without any places. |
locale | It is an optional argument. It specifies the locale to use that determines the decimal point result, thousands of separators, and grouping between separators. By default, MySQL will use an en_us locale. |
FORMAT函数可以支持以下MySQL版本:
让我们通过各种示例来了解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
它将给出如下输出。