In diesem Schritt lernen Sie, wie Sie die Funktion EXTRACT
verwenden, um bestimmte Teile eines Zeitstempels (wie Jahr, Monat, Tag) zu extrahieren, und die Klausel AT TIME ZONE
, um Zeitstempel in verschiedene Zeitzonen zu konvertieren.
Extrahieren wir zunächst das Jahr aus der Spalte event_time
. Führen Sie die folgende Abfrage aus:
SELECT event_name, EXTRACT(YEAR FROM event_time) AS event_year FROM events;
Diese Abfrage verwendet die Funktion EXTRACT
, um das Jahr aus der Spalte event_time
zu extrahieren und es als event_year
zu aliasieren. Die Ausgabe wird sein:
event_name | event_year
----------------+------------
Conference Call | 2024
Project Meeting | 2024
Follow-up Meeting | 2024
(3 rows)
Als Nächstes sehen wir uns an, wie Sie event_time
mit der Klausel AT TIME ZONE
in eine bestimmte Zeitzone konvertieren können. Um event_time
in der Zeitzone America/Los_Angeles
anzuzeigen, verwenden Sie die folgende Abfrage:
SELECT event_name, event_time AT TIME ZONE 'America/Los_Angeles' AS los_angeles_time FROM events;
Diese Abfrage konvertiert event_time
in die Zeitzone America/Los_Angeles
und zeigt sie als los_angeles_time
an. Die Ausgabe wird sein:
event_name | los_angeles_time
----------------+---------------------
Conference Call | 2024-01-20 10:00:00
Project Meeting | 2024-01-20 10:00:00
Follow-up Meeting | 2024-01-21 04:00:00
(3 rows)
Sie können EXTRACT
und AT TIME ZONE
kombinieren, um bestimmte Komponenten des Zeitstempels in einer bestimmten Zeitzone zu extrahieren. Um beispielsweise die Stunde der Ereignisse in der Zeitzone America/Los_Angeles
zu ermitteln, verwenden Sie die folgende Abfrage:
SELECT event_name, EXTRACT(HOUR FROM event_time AT TIME ZONE 'America/Los_Angeles') AS event_hour_la FROM events;
Dies gibt die Stunde jedes Ereignisses in der Zeitzone America/Los_Angeles
aus.