Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Funktion DATE_TRUNC
Die Funktion DATE_TRUNC verkürzt alle Zeitstempelausdrücke oder Literale auf der Grundlage des angegebenen Datumsteils, beispielsweise Stunde, Tag oder Monat.
Syntax
DATE_TRUNC('datepart', timestamp)
Argumente
- datepart
-
Der Datumsteil, auf den der Zeitstempelwert verkürzt werden soll. Die Eingabe timestamp wird entsprechend der Genauigkeit der Eingabe datepart verkürzt. Bei Verwendung von
month
beispielsweise wird auf den ersten Tag des Monats verkürzt. Gültige Formate sind folgende:-
Mikrosekunde, Mikrosekunden
-
Millisekunde, Millisekunden
-
Sekunde, Sekunden
-
Minute, Minuten
-
Stunde, Stunden
-
Tag, Tage
-
Woche, Wochen
-
Monat, Monate
-
Quartal, Quartale
-
Jahr, Jahre
-
Dekade, Dekaden
-
Jahrhundert, Jahrhunderte
-
Jahrtausend, Jahrtausende
Weitere Informationen zu Abkürzungen einiger Formate finden Sie unter Datumsteile für Datums- oder Zeitstempelfunktionen
-
- timestamp
-
Eine Zeitstempelspalte bzw. ein entsprechender Ausdruck, die/der implizit zu einem Zeitstempel konvertiert wird.
Rückgabetyp
TIMESTAMP
Beispiele
Verkürzen des Eingabezeitstempels auf die Sekunde
SELECT DATE_TRUNC('second', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:05:06
Verkürzen des Eingabezeitstempels auf die Minute
SELECT DATE_TRUNC('minute', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:05:00
Verkürzen des Eingabezeitstempels auf die Stunde
SELECT DATE_TRUNC('hour', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 04:00:00
Verkürzen des Eingabezeitstempels auf den Tag
SELECT DATE_TRUNC('day', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-30 00:00:00
Verkürzen des Eingabezeitstempels auf den ersten Tag eines Monats
SELECT DATE_TRUNC('month', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-01 00:00:00
Verkürzen des Eingabezeitstempels auf den ersten Tag eines Quartals
SELECT DATE_TRUNC('quarter', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-04-01 00:00:00
Verkürzen des Eingabezeitstempels auf den ersten Tag eines Jahres
SELECT DATE_TRUNC('year', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2020-01-01 00:00:00
Verkürzen des Eingabezeitstempels auf den ersten Tag eines Jahrhunderts
SELECT DATE_TRUNC('millennium', TIMESTAMP '20200430 04:05:06.789');
date_trunc 2001-01-01 00:00:00
Verkürzen des Eingabezeitstempels auf den Montag der Woche.
select date_trunc('week', TIMESTAMP '20220430 04:05:06.789');
date_trunc 2022-04-25 00:00:00
Im folgenden Beispiel verwendet die Funktion DATE_TRUNC den Datumsteil „Woche“ zur Rückgabe des Datums des Montags jeder Woche.
select date_trunc('week', saletime), sum(pricepaid) from sales where saletime like '2008-09%' group by date_trunc('week', saletime) order by 1;
date_trunc | sum ------------+------------- 2008-09-01 | 2474899 2008-09-08 | 2412354 2008-09-15 | 2364707 2008-09-22 | 2359351 2008-09-29 | 705249