SQL CEIL:無條件進位到最接近的整數

SQL CEIL 函數接受一個數值表達式,並將該參數無條件進位到最接近的整數。

請注意,除了 CEIL 函數之外,SQL 還提供一些用於四捨五入的函數,例如 ROUNDTRUNC 函數,它們的行為方式與 CEIL 函數類似。

某些資料庫系統(例如 SQL Server)提供與 CEIL 函數等效的 CEILING 函數。

語法

以下說明 CEIL 函數的語法。

CEIL(numeric_expression)Code language: SQL (Structured Query Language) (sql)

參數

numeric_expression

一個浮點數值或一個計算結果為數字的數值表達式

回傳值

CEIL 函數回傳一個整數值。

範例

以下範例回傳 101,因為 100.49 最接近的整數是 101。

SELECT CEIL(100.49);
Code language: SQL (Structured Query Language) (sql)
 ceil
------
  101
(1 row)Code language: SQL (Structured Query Language) (sql)

以下陳述式回傳 -100,因為 -100.49 最接近的整數值是 -100。

SELECT CEIL(-100.49);Code language: SQL (Structured Query Language) (sql)
 ceil
------
 -100
(1 row)

以下陳述式回傳 101,因為 100.51 最接近的整數是 101。

SELECT CEIL(100.51);
Code language: SQL (Structured Query Language) (sql)
 ceil
------
  101
(1 row)Code language: SQL (Structured Query Language) (sql)

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

emp_dept_tables

以下範例使用 CEIL 函數來將每個部門的員工平均薪資無條件進位。

SELECT department_name, CEIL(AVG(salary)) AS average_salary
FROM employees e
INNER JOIN departments d on d.department_id = e.department_id
GROUP BY department_name
ORDER BY department_name;Code language: SQL (Structured Query Language) (sql)
 department_name  | average_salary
------------------+---------------
 Accounting       | 10150
 Administration   |  4400
 Executive        | 19334
 Finance          |  8600
 Human Resources  |  6500
 IT               |  5760
 Marketing        |  9500
 Public Relations | 10000
 Purchasing       |  4150
 Sales            |  9617
 Shipping         |  5886
(11 rows)Code language: SQL (Structured Query Language) (sql)

在本教學中,您學習了如何使用 CEIL 函數將浮點數無條件進位到最接近的整數值。

這個教學對您有幫助嗎?