SQL Dojo Beta
Falle

Erst umrechnen, dann abschneiden

Eine UTC-Zeit in Tage, Stunden oder Monate zu schneiden, ergibt UTC-Tage: Rechnen Sie zuerst in die Zeitzone des Lesers um.

ts AT TIME ZONE 'UTC' AT TIME ZONE 'America/New_York' liefert die Ortszeit; erst dann CAST(… AS DATE), date_trunc oder EXTRACT(HOUR …), und schreiben Sie auch den Datumsfilter in Ortszeit. Nicht alle Tage haben 24 Stunden: Der Tag der Zeitumstellung im Herbst dauert 25, der im Frühjahr 23. Speichern Sie in UTC, berichten Sie in der Zeitzone des Lesers, und sagen Sie, in welcher.

WITH events(occurred_at) AS (VALUES (TIMESTAMP '2026-06-02 02:30:00'), (TIMESTAMP '2026-06-02 14:00:00'))
SELECT occurred_at,
       CAST(occurred_at AS DATE) AS utc_day,
       CAST(occurred_at AT TIME ZONE 'UTC' AT TIME ZONE 'America/New_York' AS DATE) AS new_york_day
FROM events
ORDER BY occurred_at;
occurred_atutc_daynew_york_day
2026-06-02 02:30:002026-06-022026-06-01
2026-06-02 14:00:002026-06-022026-06-02
In Randori ausprobieren