SQL TRUNCATE 函式

摘要:在本教程中,您將學習如何使用 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 要求 nd 兩個引數都必須提供。

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() 函式將一個數字截斷到指定的小數位數。
本教程是否有幫助?
© .