SQL ROUND 函数

一、SQL ROUND 函数 语法

SQL ROUND 函数将指定的数字四舍五入到特定的小数位。

SELECT ROUND(Number, Decimal_places, Operation) AS Alias_Name;  

在此 ROUND 函数中,以下是三个参数:

  1. Number:要四舍五入的十进制数
  2. Decimal_places:可以是正整数或负整数,表示要四舍五入的小数位数。
  3. Operation:可选。

在SQL语言中,我们还可以对表的整数列使用 ROUND 函数,如下块所示:

SELECT ROUND(Column_Name, Decimal_places, Operation) AS Alias_Name FROM Table_Name;  

在这种语法中,我们将 ROUND 函数与现有的 SQL 表一起使用。在这里,我们必须定义要在其上执行 ROUND 函数的表的名称和列。

二、SQL ROUND 函数 示例

示例 1:以下舍入函数将数字舍入到 -1 位小数:

SELECT ROUND(945.451) AS Round_-1value; 

输出结果为:

Round_-1Value
950.00

示例 2:以下舍入函数将数字舍入到小数点后 2 位,第三个参数非零:

SELECT ROUND(145.415) AS Round_-1value;  

输出结果为:

Round_-1Value
145.41

示例 3:此示例对 SQL 表使用数学 ROUND 函数:

在第三个示例中,我们将创建一个新表,我们将通过该表对表的整数列执行 ROUND 函数:

下面显示了在 SQL 中创建新表的语法:

CREATE TABLE Name_of_New_Table  
(  
First_Column_of_table Data Type (character_size of First Column),    
Second_Column_of_table Data Type (character_size of the Second column ),    
Third_Column_of_table Data Type (character_size of the Third column),    
......,    
Last_Column_of_table Data Type (character_size of the Last column)  
);    

以下 CREATE 语句创建Product_Details表以存储产品的价格和数量:

CREATE TABLE Product_Details  
(  
Product_ID INT NOT NULL,  
Product_Name Varchar(50),  
Product_Quantity INT,  
Purchasing_Price INT,  
Selling_Price INT,  
Release_Date Date,   
Product_Rating INT  
);  

以下多个 INSERT 语句将产品记录及其销售和购买价格插入到 Product_Details 表中:

INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (104, P1, 10.250, 945.2548, 1050.2547, 2022-04-30, 8);  
  
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (202, P4, 15.500, 45.248, 75.5725, 2022-01-28, 5);  
  
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (103, P2, 18.250, 255.248, 475.725, 2022-02-18, 4);  
  
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (111, P7, 25.250, 5.958, 15.955, 2021-12-25, 9);  
  
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (210, P6, 12.650, 50.958, 70.955, 2021-10-15, 11);  
  
  
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (212, P8, 19.750, 110.850, 250.955, 2022-01-10, 3);  
  
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (112, P10, 24.950, 550.654, 835.657, 2022-04-11, 8);  

以下 SELECT 语句显示上述Product_Details表的插入记录:

SELECT * FROM Product_Details;  

输出结果为:

Product_ID Product_Name Product_Quantity Purchasing_Price Selling_Price Release_Date Product_Rating
104 P1 10.250 945.2548 1050.2547 2022-04-30 8
202 P4 15.500 45.248 75.5725 2022-01-28 5
103 P2 18.250 255.248 475.725 2022-02-18 4
111 P7 25.250 5.958 15.955 2021-12-25 9
210 P6 12.650 50.958 70.955 2021-10-15 11
212 P8 19.750 110.850 250.955 2022-01-10 3
112 P10 24.950 550.654 835.657 2022-04-11 8

查询 1:以下 SELECT 查询将 ROUND 函数与上述 Product_Details 表的 Product_Quantity 列一起使用:

SELECT Product_ID, Product_Name, Product_Quantity, ROUND(Product_Quantity, -1) AS Round_-1quantity FROM Product_Details;  

输出结果为:

Product_ID Product_Name Product_Quantity Round_-1quantity
104 P1 10.250 10.000
202 P4 15.500 20.000
103 P2 18.250 20.000
111 P7 25.250 30.000
210 P6 12.650 10.000
212 P8 19.750 20.000
112 P10 24.950 20.000

查询 2:以下 SELECT 查询对上述 Product_Details 表中 Product_ID 大于 103 的产品的 Purchasing_Price 和 Selling_Price 列使用 ROUND 函数:

SELECT Product_ID, Purchasing_Price, ROUND(Purchasing_Price, 2, 0) AS Round_2purchase, Selling_Price, ROUND( Selling_Price, 2, 0) AS Round_2selling FROM Product_Details WHERE Product_ID > 103;  

输出结果为:

Product_ID Purchasing_Price Round_2purcahse Selling_Price Round_2Sellling
104 945.2548 945.2500 1050.2547 1050.2500
202 45.248 45.250 75.5725 75.5700
111 5.958 5.960 15.955 15.960
210 50.958 50.960 70.955 70.960
212 110.850 110.850 250.955 250.960
112 550.654 550.650 835.657 835.660

查询 3:以下 SELECT 查询将 ROUND 函数与上述 Product_Details 表的 Product_Quantity 列一起使用:

SELECT Product_ID, Product_Quantity, ROUND(Product_Quantity, 1, 1) AS Round_1_1quantity FROM Product_Details;  

此函数使用非零值,即 1 round 轮函数中的第三个参数。

输出结果为:

Product_ID Product_Quantity Round_1_1quantity
104 10.250 10.200
202 15.500 15.500
103 18.250 18.200
111 25.250 25.200
210 12.650 12.600
212 19.750 19.700
112 24.950 24.900

热门文章

优秀文章