📜  MySQL 中的 ROUND()函数

📅  最后修改于: 2022-05-13 01:55:48.202000             🧑  作者: Mango

MySQL 中的 ROUND()函数

MySQL 中的ROUND ()函数用于将数字四舍五入到指定的小数位数。如果没有为舍入提供指定的小数位数,则将数字舍入到最接近的整数。

句法 :

ROUND(X, D)

Parameter :此方法接受语法中的两个参数,如上所述和如下所述 -

  • X :要四舍五入的数字。
  • D :给定数字四舍五入的小数位数。它是可选的。如果没有给出,则将数字四舍五入到最接近的整数。如果是负数,则该数字四舍五入到小数点左侧。

返回:它返回四舍五入到指定位置后的数字。

示例-1:
未指定 D 时对数字进行四舍五入。

  • 四舍五入一个负数。
    SELECT ROUND(-10.11) AS Rounded_Number;

    输出 :

    Rounded_Number
    -10
  • 四舍五入一个正数。
    SELECT ROUND(100.61) AS Rounded_Number;

    输出 :

    Rounded_Number
    101

示例 2 :
当 D 为负数 (-ve) 时四舍五入一个数字。

  • 四舍五入一个负数。
    SELECT ROUND(-1567.1100, -3) AS Rounded_Number;

    输出 :

    Rounded_Number
    -2000
  • 四舍五入一个正数。
    SELECT ROUND(1016.6089, -1) AS Rounded_Number;

    输出 :

    Rounded_Number
    1020

示例 3 :
当 D 为正数 (+ve) 时对数字进行四舍五入。

  • 将负数四舍五入到小数点后 2 位。
    SELECT ROUND(-1567.1160, 2) AS Rounded_Number;

    输出 :

    Rounded_Number
    -1567.12
  • 将正数四舍五入到小数点后三位。
    SELECT ROUND(1016.6019, 3) AS Rounded_Number;

    输出 :

    Rounded_Number
    1016.602

示例 4:
ROUND函数还可用于查找列数据的舍入值。在此示例中,我们将查找价格列的四舍五入值。为了演示创建一个名为Product 的表。

CREATE TABLE Product(
    Product_id INT AUTO_INCREMENT, 
    Product_name VARCHAR(100) NOT NULL,
    Buying_price DECIMAL(13, 6) NOT NULL,
    Selling_price DECIMAL(13, 6) NOT NULL,
    Selling_Date Date NOT NULL,
    PRIMARY KEY(Product_id)
);

现在插入一些数据到产品表 -

INSERT INTO 
    Product(Product_name, Buying_price, Selling_price, Selling_Date)
VALUES
    ('P6', 1060.865460, 1700.675400, '2020-08-26'),
    ('P2', 2000.154300, 3050.986700, '2020-08-27'),
    ('P1', 4000.874300, 5070.786500, '2020-08-28'),
    ('P2', 2090.654300, 3050.896500, '2020-09-01'),
    ('P3', 5900.543280, 7010.654700, '2020-09-04'),
    ('P4', 4000.353200, 4500.125400, '2020-09-05'),
    ('P5', 5010.768900, 6000.873200, '2020-09-08');

所以,产品表是——

Product_idProduct_nameBuying_priceSelling_priceSelling_Date
1P61060.8654601700.6754002020-08-26
2P22000.1543003050.9867002020-08-27
3P14000.8743005070.7865002020-08-28
4P22090.6543003050.8965002020-09-01
5P34000.3532007010.6547002020-09-04
6P44000.3532004500.1254002020-09-05
7P55010.7689006000.8732002020-09-08

现在,我们要将 Buying_price 和 Selling_price 列四舍五入至小数点后两位。

SELECT Product_name, Buying_price, ROUND(Buying_price, 2) Rounded_Bprice, 
Selling_price, ROUND(Selling_price, 2) Rounded_Sprice
FROM Product;

输出 :

Product_nameBuying_priceRounded_BpriceSelling_priceRounded_Sprice
P61060.8654601060.871700.6754001700.68
P22000.1543002000.153050.9867003050.99
P14000.8743004000.875070.7865005070.79
P22090.6543002090.653050.8965003050.90
P35900.5432805900.547010.6547007010.65
P44000.3532004000.354500.1254004500.13
P55010.7689005010.776000.8732006000.87