SQL ROUND:將數字四捨五入到特定精度

摘要:在本教學中,您將學習如何使用 SQL ROUND 函式將數字四捨五入到特定精度。

SQL ROUND 函式簡介

ROUND 函式是一個數學函式,可將數字四捨五入到特定的長度或精度。以下說明 ROUND 函式的語法。

ROUND(numeric_expression,precision);Code language: SQL (Structured Query Language) (sql)

ROUND 函式接受兩個引數。

  1. numeric_expression 是一個數值表達式,其計算結果為數字。
  2. 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 範例

請參閱範例資料庫中的以下 employeesdepartments 資料表。

emp_dept_tables

以下陳述式使用 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)
SQL ROUND function example

在本教學中,您已學習如何使用 ROUND 函式將數字四捨五入到特定精度。

這個教學對您有幫助嗎?