

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# TRUNC 函數
<a name="TRUNC"></a>

TRUNC 函數將數字截斷為先前的整數或小數。

TRUNC 函數可以選擇性地包含第二個引數作為整數，以指出任一方向的四捨五入小數位數。當您未提供第二個引數時，函數會四捨五入為最接近的整數。指定第二個引數 *>n* 時，函數會四捨五入至小數位數 *>n* 的最近數字。此函數也會截斷時間戳記並傳回日期。

## 語法
<a name="TRUNC-synopsis"></a>

```
TRUNC (number [ , integer ] |
timestamp )
```

## 引數
<a name="TRUNC-arguments"></a>

 *number*   
數字或評估為數字的運算式。它可以是 DECIMAL 或 FLOAT8 類型。 AWS Clean Rooms 可以根據隱含轉換規則轉換其他資料類型。

 *整數* (選用)   
整數，表示精確度的小數位數 (任一方向)。如果未提供整數，數字會截斷為整數；如果指定整數，數字會截斷至指定的小數位數。

 *timestamp*   
函數也可以從時間戳記傳回日期。（若要以 傳回時間戳記值`00:00:00`作為時間，請將函數結果轉換為時間戳記。) 

## 傳回類型
<a name="TRUNC-return-type"></a>

TRUNC 會傳回與第一個輸入引數相同的資料類型。對於時間戳記，TRUNC 會傳回日期。

## 範例
<a name="TRUNC-examples"></a>

截斷給定銷售交易的已付佣金。

```
select commission, trunc(commission)
from sales where salesid=784;

commission | trunc
-----------+-------
    111.15 |   111

(1 row)
```

將同一個佣金值截斷至第一位小數。

```
select commission, trunc(commission,1)
from sales where salesid=784;

commission | trunc
-----------+-------
    111.15 | 111.1

(1 row)
```

以第二個引數的負值截斷佣金；`111.15` 捨去到 `110`。

```
select commission, trunc(commission,-1)
from sales where salesid=784;

commission | trunc
-----------+-------
    111.15 |   110
(1 row)
```

從 SYSDATE 函數的結果傳回日期部分 （傳回時間戳記）：

```
select sysdate;

timestamp
----------------------------
2011-07-21 10:32:38.248109
(1 row)

select trunc(sysdate);

trunc
------------
2011-07-21
(1 row)
```

要套用到 TIMESTAMP 欄位的 TRUNC 函數。傳回類型為日期。

```
select trunc(starttime) from event
order by eventid limit 1;

trunc
------------
2008-01-25
(1 row)
```