- カテゴリ:
TRUNC¶
日付、時刻、またはタイムスタンプを指定された部分で切り捨てます。例えば、タイムスタンプを四半期に切り捨てると、元のタイムスタンプの四半期の最初の日の午前0時に対応するタイムスタンプが返されます。
DATE_TRUNC の代替構文を提供します(2つの引数を逆にします)。
注釈
この関数はオーバーロードされています。 数値式を切り捨てる数値式 としても使用できます。
構文¶
TRUNC( <date_or_time_expr>, <date_or_time_part> )
引数¶
date_or_time_expr
これは、 DATE または TIMESTAMP に評価される式でなければなりません。date_or_time_part
は、 サポートされている日付と時刻の部分 にリストされている値のいずれかでなければなりません。
戻り値¶
関数は常に DATEを返します。
完全な日付にします(年、月、日)。切り捨てでは、月と日は削除されません。代わりに、指定された期間の最も早い日付に設定します。例えば、 TRUNC(TO_DATE('2013-08-05'), 'QUARTER')
は、2013年の第3四半期の最初の日付、つまり2013年7月1日を返します。
使用上の注意¶
その他の使用上の注意については、 DATE_TRUNC の 使用上の注意 をご参照ください。
例¶
以下の例は、日付の切り捨てを示しています。すべての場合において、結果は月と日を含む完全な日付ですが、 date_or_time_expr
および date_or_time_part
で指定された期間の最も早い日付になります。
select trunc(to_date('2013-05-08'), 'MONTH');
+---------------------------------------+
| TRUNC(TO_DATE('2013-05-08'), 'MONTH') |
|---------------------------------------|
| 2013-05-01 |
+---------------------------------------+
select trunc(to_date('2013-05-08'), 'QUARTER');
+-----------------------------------------+
| TRUNC(TO_DATE('2013-05-08'), 'QUARTER') |
|-----------------------------------------|
| 2013-04-01 |
+-----------------------------------------+
select trunc(to_date('2013-05-08'), 'YEAR');
+--------------------------------------+
| TRUNC(TO_DATE('2013-05-08'), 'YEAR') |
|--------------------------------------|
| 2013-01-01 |
+--------------------------------------+