摘要:在本教學中,您將學習如何使用 SQL ROUND 函式將數字四捨五入到特定精度。
SQL ROUND 函式簡介
ROUND
函式是一個數學函式,可將數字四捨五入到特定的長度或精度。以下說明 ROUND
函式的語法。
ROUND(numeric_expression,precision);
Code language: SQL (Structured Query Language) (sql)
ROUND
函式接受兩個引數。
- numeric_expression 是一個數值表達式,其計算結果為數字。
- precision 只能取正或負整數。
以下陳述式將數字四捨五入到小數點後一位。
SELECT ROUND(100.19,1);
Code language: SQL (Structured Query Language) (sql)
round
-------
100.2
(1 row)
Code language: SQL (Structured Query Language) (sql)
因為精度是 1,所以 ROUND
函式會將數字四捨五入到最接近的小數位。請參閱以下範例。
SELECT ROUND(100.14,1);
Code language: SQL (Structured Query Language) (sql)
round
-------
100.1
(1 row)
Code language: SQL (Structured Query Language) (sql)
如果精度是負整數,ROUND
函式將會四捨五入小數點左側的數字,例如
SELECT ROUND(109.14,-1);
Code language: SQL (Structured Query Language) (sql)
round
-------
110
(1 row)
Code language: SQL (Structured Query Language) (sql)
在上述陳述式中,ROUND
函式將小數點左側數字的最後一位四捨五入。此外,小數點右側的數字歸零。
某些資料庫系統(例如 Microsoft SQL Server、IBM DB2、Sybase ASE)會在數字的小數點後顯示零 (.00),而其他資料庫(例如 Oracle 資料庫、PostgreSQL、MySQL)則不會。
請注意,Oracle、PostgreSQL 和 MySQL 有一個版本的 ROUND
函式接受單一引數。如果傳遞單一引數,ROUND
函式會將數字四捨五入到最接近的整數。例如,以下陳述式會傳回 110,這是最接近的整數。
SELECT ROUND(109.59);
Code language: SQL (Structured Query Language) (sql)
round
-------
110
(1 row)
Code language: SQL (Structured Query Language) (sql)
SQL ROUND 範例
請參閱範例資料庫中的以下 employees
和 departments
資料表。

以下陳述式使用 ROUND
函式將每個部門員工的平均薪資四捨五入到最接近的整數。
SELECT
department_name,
ROUND(AVG(salary), 0) average_salary
FROM
employees e
INNER JOIN
departments d ON d.department_id = e.department_id
GROUP BY e.department_id
ORDER BY department_name;
Code language: SQL (Structured Query Language) (sql)

在本教學中,您已學習如何使用 ROUND
函式將數字四捨五入到特定精度。
這個教學對您有幫助嗎?