In PostgreSQL der date_part()
Die Funktion ruft Unterfelder wie Jahr, Monat, Stunde oder Minute ab, die Teil eines Datums-/Uhrzeitwerts sind.
Es entspricht dem extract()
Funktion, allerdings mit etwas anderer Syntax.
Syntax
Die Funktion hat folgende Syntax:
date_part('field', source)
Wo:
'field'
ist für den Datumsteil, den Sie abrufen möchten. Dieser Parameter muss ein Zeichenfolgenwert sein, kein Name. Unten finden Sie eine Liste gültiger Feldnamen.source
ist ein Zeitstempel oder ein Intervall aus der Sie den Datumsteil abrufen möchten.
Beispiel – Zeitstempel
Hier ist ein einfaches Beispiel, um zu demonstrieren, wie ein Feld aus einem Zeitstempel abgerufen wird .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15');
Ergebnis:
22
Dieses Beispiel ruft das Stundenfeld aus einem Zeitstempel ab Wert.
Hier ist es wieder, aber dieses Mal rufe ich das Jahresfeld ab.
SELECT date_part('year', timestamp '2020-09-16 22:33:15');
Ergebnis:
2020
Beispiel – Intervall
In diesem Beispiel rufe ich einen Datumsteil aus einem Intervall ab Wert.
SELECT date_part('hour', interval '5 hours 30 minutes');
Ergebnis:
5
Im nächsten Beispiel gibt die Funktion die Anzahl der Stunden korrekt zurück, obwohl ich nur die Anzahl der Minuten angebe.
SELECT date_part('hour', interval '120 minutes');
Ergebnis:
2
Verlassen Sie sich jedoch nicht auf diese Technik. Sie werden möglicherweise feststellen, dass Sie nicht immer das erwartete Ergebnis erhalten.
Zum Beispiel:
SELECT date_part('hour', interval '100 minutes');
Ergebnis:
1
Und noch eins:
SELECT date_part('minute', interval '2 hours');
Ergebnis:
0
Feldnamen
Das erste Argument kann eines der folgenden sein:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year