SQL Dojo Beta
Trampa

Convertir y luego truncar

Cortar una hora UTC en días, horas o meses da días UTC: convierta primero a la zona horaria del lector.

ts AT TIME ZONE 'UTC' AT TIME ZONE 'America/New_York' da la hora local; solo entonces CAST(… AS DATE), date_trunc o EXTRACT(HOUR …), y escriba también el filtro de fechas en hora local. No todos los días tienen 24 horas: el día en que se atrasan los relojes dura 25, el día en que se adelantan, 23. Guarde en UTC, informe en la zona horaria del lector e indique cuál.

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
Probarlo en Randori