MySQL - ROUND() 函式



MySQL 的 ROUND() 函式接受 (浮點數) 作為引數並返回其四捨五入的值。我們還可以傳遞一個整數,指定結果值中可以包含的小數位數。

在數學上,“四捨五入”一詞描述了將十進位制值轉換為最接近的整數的過程。在算術表示式返回十進位制值結果的情況下,將結果四捨五入到整數將使計算更容易理解。

一個值可以四捨五入到最高整數或最低整數。如果給定的十進位制值大於 0.5,則將其四捨五入到其最高整數;否則將其四捨五入到其最低整數。

語法

以下是 MySQL ROUND() 函式的語法 -

ROUND(X, D);

引數

此函式接受兩個引數:要四捨五入的數字表達式,以及一個可選的第二個引數,指定小數位數。

返回值

此函式將四捨五入後的值作為數值或十進位制值返回。

示例

在下面的查詢中,我們使用 ROUND() 函式將數字 5.6523 四捨五入到最接近的整數 -

SELECT ROUND(5.6523) As Result;

輸出

上面查詢的輸出如下所示 -

結果
6

示例

我們還可以將此函式的引數作為字串值傳遞 -

SELECT ROUND('25748.67') As Result;

輸出

這將產生以下結果 -

結果
25749

示例

我們可以將負值作為引數傳遞給此方法 -

SELECT ROUND(-5578.5778) As Result;

輸出

輸出如下所示 -

結果
-5579

示例

此函式還接受一個整數,表示您可以在小數點後保留的位數 -

SELECT ROUND(545895.6877562, 3) As Result;

輸出

輸出如下所示 -

結果
545895.688

示例

在下面的示例中,我們使用 CREATE 語句建立一個名為 CUSTOMERS 的 MySQL 表,如下所示 -

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.56 ),
(2, 'Khilan', 25, 'Delhi', 1500.33 ),
(3, 'Kaushik', 23, 'Kota', 2000.66 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.95 ),
(5, 'Hardik', 27, 'Bhopal', 8500.99 ),
(6, 'Komal', 22, 'Hyderabad', 4500.11 ),
(7, 'Muffy', 24, 'Indore', 10000.50 );

執行以下查詢以獲取 CUSTOMERS 表中所有插入的記錄 -

Select * From CUSTOMERS;

以下是 CUSTOMERS 表 -

ID 姓名 年齡 地址 工資
1 Ramesh 32 Ahmedabad 2000.56
2 Khilan 25 Delhi 1500.33
3 Kaushik 23 Kota 2000.66
4 Chaitali 25 Mumbai 6500.95
5 Hardik 27 Bhopal 8500.99
6 Komal 22 Hyderabad 4500.11
7 Muffy 24 Indore 10000.50

現在,我們使用 MySQL ROUND() 函式來

SELECT *, ROUND(SALARY) FROM CUSTOMERS;

以下是 CUSTOMERS 表 -

ID 姓名 年齡 地址 工資 ROUND(SALARY)
1 Ramesh 32 Ahmedabad 2000.56 2001
2 Khilan 25 Delhi 1500.33 1500
3 Kaushik 23 Kota 2000.66 2001
4 Chaitali 25 Mumbai 6500.95 6501
5 Hardik 27 Bhopal 8500.99 8501
6 Komal 22 Hyderabad 4500.11 4500
7 Muffy 24 Indore 10000.50 10001
廣告