TRUNC 関数
TRUNC 関数は、数値を前の整数または小数に切り捨てます。
TRUNC 関数にはオプションで、2 番目の引数として INTEGER
を指定できます。この整数は、四捨五入後の小数点以下または小数点以上の桁数を指定します。2 番目の引数を指定しない場合、関数は最も近い整数に四捨五入されます。2 番目の引数 integer が指定されている場合、この関数は小数点以下 integer 桁の精度で最も近い数値に四捨五入されます。
この関数は TIMESTAMP
を切り捨て、DATE
を返すこともできます。詳細については、「TRUNC 関数」を参照してください。
構文
TRUNC(number [ , integer ])
引数
- number
-
数値、または数値に評価される式。
DECIMAL
、FLOAT8
、またはSUPER
型を使用できます。その他のデータ型は、暗黙的変換ルールに従って Amazon Redshift によって変換できます。 - integer
-
(オプション) 小数点以上または小数点以下の精度の桁数を示す
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.15
は 110
に切り下げられることに注意してください。
SELECT commission, TRUNC(commission,-1) FROM sales WHERE salesid=784;
+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 110 | +------------+-------+