

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

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

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

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

 この関数は `TIMESTAMP` を切り捨て、`DATE` を返すこともできます。詳細については、「[TRUNC 関数](r_TRUNC_date.md)」を参照してください。

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

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

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

 *数値*   
数値、または数値に評価される式。`DECIMAL`、`FLOAT8`、または `SUPER` 型を使用できます。その他のデータ型は、暗黙的変換ルールに従って Amazon Redshift によって変換できます。

 * (整数*)  
(オプション) 小数点以上または小数点以下の精度の桁数を示す `INTEGER`。この *integer* が指定されなかった場合は、数値が切り捨てられて整数になります。この *integer* が指定された場合は、数値が切り捨てられて、指定された桁数になります。これは `SUPER` データ型ではサポートされていません。

## 戻り型
<a name="r_TRUNC-return-type"></a>

TRUNC は、最初の入力 *number* と同じデータ型を返します。

入力が `SUPER` 型の場合、出力は入力と同じ動的型を保持しますが、静的型は `SUPER` 型のままです。`SUPER` の動的型が数値でない場合、Amazon Redshift は `NULL` を返します。

## 例
<a name="r_TRUNC-examples"></a>

次の一部の例では、TICKIT サンプルデータベースを使用しています。詳細については、「[サンプルデータベース](c_sampledb.md)」を参照してください。

特定の取引において支払われたコミッションを切り捨てるには、次の例を使用します。

```
SELECT commission, TRUNC(commission)
FROM sales WHERE salesid=784;

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

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

```
SELECT commission, TRUNC(commission,1)
FROM sales WHERE salesid=784;

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

2 番目の引数に対して負の値でコミッションを切り捨てるには、次の例を使用します。`111.15` は `110` に切り下げられることに注意してください。

```
SELECT commission, TRUNC(commission,-1)
FROM sales WHERE salesid=784;

+------------+-------+
| commission | trunc |
+------------+-------+
|     111.15 |   110 |
+------------+-------+
```