- カテゴリ:
DATE_TRUNC¶
DATE、 TIME、または TIMESTAMP 値を指定された精度に切り捨てます。例えば、タイムスタンプを四半期に切り捨てると、元のタイムスタンプの四半期の最初の日の午前0時に対応するタイムスタンプが返されます。
この関数は、2つの引数を逆にして TRUNCATE, TRUNC の代替構文を提供します。
切り捨ては抽出とは異なります。例:
この関数を使用してタイムスタンプを四半期に切り捨てると、入力タイムスタンプ用に、四半期の初日の午前0時に対応するタイムスタンプが返されます。
EXTRACT 関数を使用してタイムスタンプから四半期の日付部分を抽出すると、タイムスタンプ内にある年の四半期の数値が返されます。
- 代替候補:
- こちらもご参照ください。
構文¶
引数¶
date_or_time_partサポートされている日付と時刻の部分 にリストされている値のいずれかにする必要があります。
date_or_time_exprこの引数は日付、時刻、またはタイムスタンプに評価される必要があります。
戻り値¶
返される値は、入力値と同じ型です。
例えば、入力値が TIMESTAMP の場合、返される値は TIMESTAMP です。
使用上の注意¶
date_or_time_partがweek(またはそのバリエーション)の場合、出力は WEEK_START セッションパラメーターによって制御されます。例などの詳細については、 カレンダーの週と平日 をご参照ください。TIME の値の場合、 TIME タイプの範囲外の
date_or_time_partを指定することはできません。例えば、 TIMESTAMP の値を切り捨てて、day、week、yearなどにすることができます。これは、 TIMESTAMP タイプが必要な精度で日付/時刻をエンコードするためです。しかし、 TIME の値を切り捨てて、day、week、yearなどにしようとするとエラーになります。
例¶
DATE_TRUNC 関数の例では、以下のテーブルのデータを使用します。
以下の例は日付の切り捨てを示しています。いずれの場合も、返される値は入力値と同じデータ型ですが、切り捨てられた部分、例えば秒の端数にはゼロが入ります。
日付を年、月、日までに切り捨てます。
時間を分までに切り詰めます。
TIMESTAMP を時間、分、秒までに切り捨てます。
DATE_TRUNC 関数と EXTRACT 関数を対比します。