TRUNC 関数 - Amazon Redshift

Amazon Redshift は、2025 年 11 月 1 日以降、新しい Python UDF の作成をサポートしなくなります。Python UDF を使用する場合は、その日付より前に UDF を作成してください。既存の Python UDF は引き続き通常どおり機能します。詳細については、ブログ記事を参照してください。

TRUNC 関数

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

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

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

構文

TRUNC(number [ , integer ])

引数

数値

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

(整数)

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

戻り型

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

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

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

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

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.15110 に切り下げられることに注意してください。

SELECT commission, TRUNC(commission,-1) FROM sales WHERE salesid=784; +------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 110 | +------------+-------+