

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# TRUNC 関数
<a name="TRUNC"></a>

TRUNC 関数は、数値を前の整数または小数に切り捨てます。

TRUNC 関数にはオプションで、2 番目の引数として整数を指定できます。この整数は、四捨五入後の小数点以下または小数点以上の桁数を指定します。2 番目の引数を指定しない場合、関数は最も近い整数に四捨五入されます。2 番目の引数 *>n* が指定されている場合、関数は小数点以下 *>n* 桁以上の精度で最も近い数値に四捨五入されます。この関数は、タイムスタンプも切り捨て、日付を返します。

## 構文
<a name="TRUNC-synopsis"></a>

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

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

 *number*   
数値、または数値に評価される式。DECIMAL または FLOAT8 type. AWS Clean Rooms can は、暗黙的な変換ルールに従って他のデータ型を変換できます。

 *integer* (オプション)   
小数点以上または小数点以下の桁数を示す整数。この整数が指定されなかった場合は、数値が切り捨てられて整数になります。この整数が指定された場合は、数値が切り捨てられて、指定された桁数になります。

 *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)
```

同じコミッション値を切り捨てて、小数点以下第 1 位までの数値にします。

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

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

(1 row)
```

コミッションを切り捨てますが、2 番目の引数に負の値が指定されています。`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)
```

TRUNC 関数を TIMESTAMP 列に適用します。戻り型は日付です。

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

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