MySQL - FORMAT() 函数



MySQL 的FORMAT()函数用于将数值格式化为指定的小数位数,并用逗号作为千位分隔符。它还会根据指定的小数位数对给定数字进行四舍五入。

此函数除了修改数字以简化数学计算外,没有任何其他作用。它只能用于数据库的数值数据。

语法

以下是 MySQL Format() 函数的语法:

FORMAT(X,D);

参数

此函数接受两个值作为参数:

  • X - 一个数字(浮点数)。

  • D - 应保留的小数位数。

返回值

此函数返回格式化后的数字,以字符串形式显示,包含千位分隔符逗号和指定的小数位数。

示例

在下面的查询中,我们使用 MySQL FORMAT() 函数将给定数字格式化为三位小数:

SELECT FORMAT(85878.687555758, 3) As Result;

输出

上述查询的输出如下所示:

结果
85,878.688

示例

下面的查询将给定数字格式化为两位小数,并返回结果:

SELECT FORMAT(424812, 2) As Result;

输出

这将产生以下结果:

结果
424,812.00

示例

我们也可以以字符串的形式将值传递给此函数:

SELECT FORMAT('454877.3387557', '3') As Result;

输出

输出如下所示:

结果
454,877.339

示例

如果我们将 0 作为此函数的第二个参数,它将省略所有小数位,并返回结果:

SELECT FORMAT(54889578795.65785478, 0) As Result;

输出

这将产生以下结果:

结果
54,889,578,796

示例

您还可以使用 FORMAT() 函数对表中列的值进行四舍五入。为此,让我们首先使用以下查询创建一个名为 CUSTOMERS 的表:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

下面的查询向上面创建的表中添加 7 条记录:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

要验证记录是否已插入,请执行以下查询:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID 姓名 (NAME) 年龄 (AGE) 地址 (ADDRESS) 薪水 (SALARY)
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

以下查询将 SALARY 列格式化为没有小数位:

SELECT ID, NAME, ADDRESS, FORMAT(SALARY, 0) FROM CUSTOMERS;

上述查询的输出如下所示:

ID 姓名 (NAME) 地址 (ADDRESS) 薪水 (SALARY)
1 Ramesh Ahmedabad 2,000
2 Khilan Delhi 1,500
3 Kaushik Kota 2,000
4 Chaitali Mumbai 6,500
5 Hardik Bhopal 8,500
6 Komal Hyderabad 4,500
7 Muffy Indore 10,000
广告