摘要:在本教程中,您將學習如何使用 SQL TRUNCATE() 函式將一個數字截斷到指定的小數位數。
SQL TRUNCATE() 函式概述 #
下面展示了 TRUNCATE() 函式的語法:
TRUNCATE(n, d)Code language: SQL (Structured Query Language) (sql)TRUNCATE() 函式返回截斷到 d 位小數的 n。如果省略 d,則 n 被截斷到 0 位小數。如果 d 是一個負數,該函式會將數字 n 在小數點左側的 d 位截斷為零。
MySQL 支援 TRUNCATE() 函式。但是,MySQL 要求 n 和 d 兩個引數都必須提供。
Oracle 和 PostgreSQL 提供了 TRUNC() 函式,它與 TRUNCATE() 函式的功能相同。
然而,SQL Server 使用帶有第三個引數的 ROUND() 函式來決定截斷操作:
ROUND(n, d, f)Code language: SQL (Structured Query Language) (sql)如果 f 不為零,則 ROUND() 函式將 n 四捨五入到 d 位小數。
使用 TRUNCATE 函式處理正小數位數 #
以下語句展示瞭如何對正數使用 TRUNCATE() 函式:
SELECT TRUNCATE(123.4567,2) result;Code language: SQL (Structured Query Language) (sql)輸出
result
--------
123.45Code language: CSS (css)在此示例中,TRUNCATE() 函式將一個數字截斷到兩位小數。
使用 TRUNCATE() 函式處理負小數位數 #
以下示例使用了小數位數為負數的 TRUNCATE() 函式:
SELECT TRUNCATE(123.4567,-2) result;Code language: SQL (Structured Query Language) (sql)輸出
result
--------
100在此示例中,小數位數為 -2,因此 TRUNCATE() 函式將小數點左側的兩位數字截斷為零。
對錶列使用 TRUNCATE() 函式 #
以下語句查詢每個部門員工的平均工資:
SELECT
department_name,
TRUNCATE(AVG(salary),0) average_salary
FROM
employees e
INNER JOIN
departments d ON d.department_id = e.department_id
GROUP BY
department_name
ORDER BY
average_salary;Code language: SQL (Structured Query Language) (sql)在此示例中,我們使用 TRUNCATE() 函式來移除平均工資小數點後的所有數字。
輸出
department_name | average_salary
------------------+----------------
Purchasing | 4150
Administration | 4400
IT | 5760
Shipping | 5885
Human Resources | 6500
Finance | 8600
Marketing | 9500
Sales | 9616
Public Relations | 10000
Accounting | 10150
Executive | 19333Code language: PHP (php)摘要 #
- 使用 SQL
TRUNCATE()函式將一個數字截斷到指定的小數位數。
本教程是否有幫助?