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 überlastet. Sie kann auch als numerische Funktion verwendet werden, um numerische Ausdrücke abzurunden.

Syntax

TRUNC( <date_or_time_expr>, <date_or_time_part> )

Argumente

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

  • date_or_time_part (Teil von Datum/Uhrzeit) 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 date_or_time_expr und date_or_time_part 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                           |
+--------------------------------------+
Zurück zum Anfang