Kategorien:

Datums- und Uhrzeitfunktionen

TRUNC

Kürzt ein Datum, eine Uhrzeit oder einen Zeitstempel auf die angegebene Komponente. Wenn Sie einen Zeitstempel zum Beispiel auf das Quartal kürzen, wird der Zeitstempel zurückgegeben, der Mitternacht des ersten Tages im Quartal des ursprünglichen Zeitstempels entspricht.

Stellt eine alternative Syntax für DATE_TRUNC (kehrt die beiden Argumente um).

Bemerkung

Diese Funktion ist überladen. Sie kann auch als numerische Funktion verwendet werden, um numerische Ausdrücke abzurunden.

Syntax

TRUNC( <date_or_time_expr>, <date_or_time_part> )

Argumente

  • Datum_oder_Zeit_Ausdruck muss ein Ausdruck sein, der einen DATE- oder TIMESTAMP-Wert ergibt.

  • Datum_oder_Zeit_Ausdruck muss einer der unter Unterstützte Datums- und Zeitabschnitte aufgeführten Werte sein.

Rückgabewerte

Die Funktion gibt immer einen DATE-Wert zurück.

Das Datum ist vollständig (Jahr, Monat und Tag). Durch das Kürzen werden Monat und Tag nicht entfernt. Stattdessen werden sie auf den frühesten Zeitpunkt im angegebenen Zeitraum gesetzt. Beispielsweise gibt TRUNC(TO_DATE('2013-08-05'), 'QUARTER') das erste Datum des dritten Quartals des Jahres 2013 (1. Juli 2013) zurück.

Nutzungshinweise

Beispiele

Die folgenden Beispiele zeigen die Datumskürzung. Beachten Sie, dass das Ergebnis in allen Fällen ein vollständiges Datum ist, einschließlich Monat und Tag, jedoch das früheste Datum in dem von Datum_oder_Zeit_Ausdruck und Datum_oder_Zeit_Ausdruck angegebenen Zeitraum.

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                           |
+--------------------------------------+