SQL - ROUND() 函式



SQL ROUND() 是一個數學函式,用於表示帶有指定小數位數的浮點數。

假設我們有一個浮點數 123.346,我們希望顯示一個小數點後只有兩位數的數字,例如 123.350,那麼我們可以使用 ROUND() 函式來實現。

語法

以下是 SQL 中 ROUND() 函式的語法:

SELECT ROUND(number, decimals_places, operation) AS Alias_Name;

round 函式接受三個引數,其中兩個是必需的,一個 是可選的。

  • Number - 它接受需要四捨五入的數字。

  • Decimals_places - 需要將數字四捨五入到的小數位數。

  • Operation - 它是可選的;如果輸入 0,則結果將四捨五入到指定的小數位數;如果輸入的值不為 0,則將截斷小數位數;預設值為 0。

以下是 SQL ROUND() 函式的語法,它用於 SQL 並從建立的表中提取資料。

SELECT ROUND(column_name, decimals_places, operation) AS Alias_Name FROM table_name;

在上面的語法中,我們使用的是我們建立的表名,並且我們必須定義要對哪個列執行 ROUND() 函式。

示例

在下面的示例中,我們將一個浮點數四捨五入到兩位小數。

以下是查詢:

SELECT ROUND(123.1256, 2) AS roud_value;

輸出

上面查詢的輸出如下所示,它顯示了給定的數字,並且在第二位小數點之後,0 值將替換其他數字。

+------------+
| roud_value |
+------------+
|   123.1300 |
+------------+

示例

在下面的示例中,我們將浮點數四捨五入到兩位小數,並使用 operation 引數。

以下是查詢:

SELECT ROUND(123.125, 2, 1) AS roud_value;
+------------+
| roud_value |
+------------+
|   123.1300 |
+------------+

輸出

以下是上面 SQL 查詢的輸出,它在兩位小數點之後顯示 0。如果我們將 operation 引數設定為 1,並且兩位小數點之後的下一個值大於 5,則前一個數字不會增加 1。它顯示相同的數字。

示例

在下面的示例中,我們將 salary 列四捨五入到兩位小數,並從 emp_tbl 中提取名稱。

讓我們使用 CREATE 語句建立一個名為 emp_tbl 的表:

CREATE TABLE emp_tbl(ID INT NOT NULL, 
NAME VARCHAR(20), 
ACCOUNT_BL DECIMAL(10, 0), 
SALARY DECIMAL(18, 5));

讓我們使用 INSERT 語句將資料插入 emp_tbl:

INSERT INTO emp_tbl VALUES(1, 'Raja', 1200, 1234.23450);
INSERT INTO emp_tbl VALUES(2, 'Vivek', 1500, 225.45600);
INSERT INTO emp_tbl VALUES(3, 'Roja', -1500, 3025.57600);
INSERT INTO emp_tbl VALUES(4, 'Lukha', -1700, 5065.16800);
INSERT INTO emp_tbl VALUES(5, 'Sonal', 1800, 10065.25400);

讓我們使用 SELECT 語句顯示 emp_tbl 的詳細資訊:

SELECT * FROM emp_tbl

以下是表格:

+----+-------+------------+-------------+
| ID | NAME  | ACCOUNT_BL | SALARY      |
+----+-------+------------+-------------+
|  1 | Raja  |       1200 |  1234.23450 |
|  2 | Vivek |       1500 |   225.45600 |
|  3 | Roja  |      -1500 |  3025.57600 |
|  4 | Lukha |      -1700 |  5065.16800 |
|  5 | Sonal |       1800 | 10065.25400 |
+----+-------+------------+-------------+

以下是 SQL 查詢:

SELECT NAME, ROUND(SALARY, 2) FROM emp_tbl;

輸出

以下是上面 SQL 查詢的輸出。我們獲得了姓名和 salary 的四捨五入值。

+-------+------------------+
| NAME  | ROUND(SALARY, 2) |
+-------+------------------+
| Raja  |          1234.23 |
| Vivek |           225.46 |
| Roja  |          3025.58 |
| Lukha |          5065.17 |
| Sonal |         10065.25 |
+-------+------------------+
sql-numeric-functions.htm
廣告