OK, tak ještě jednou.
postgres=#CREATE TEMPORARY TABLE log (id int PRIMARY KEY, ts timestamptz); CREATE TABLE postgres=# INSERT INTO log (id, ts) VALUES (1, '2016-03-26 15:30:00 Europe/Prague'), (2, '2016-03-26 16:30:00 Europe/Prague'), (3, '2016-03-28 15:30:00 Europe/Prague'), (4, '2016-03-28 16:30:00 Europe/Prague'); INSERT 0 4 postgres=# SELECT *, ts AT TIME ZONE 'UTC' AS ts_utc FROM log; id | ts | ts_utc ----+------------------------+--------------------- 1 | 2016-03-26 15:30:00+01 | 2016-03-26 14:30:00 2 | 2016-03-26 16:30:00+01 | 2016-03-26 15:30:00 3 | 2016-03-28 15:30:00+02 | 2016-03-28 13:30:00 4 | 2016-03-28 16:30:00+02 | 2016-03-28 14:30:00 (4 rows) postgres=# SELECT *, ts AT TIME ZONE 'UTC' AS ts_utc FROM log WHERE ts::time BETWEEN '16:00:00' AND '17:00:00'; id | ts | ts_utc ----+------------------------+--------------------- 2 | 2016-03-26 16:30:00+01 | 2016-03-26 15:30:00 4 | 2016-03-28 16:30:00+02 | 2016-03-28 14:30:00 (2 rows)
Čemu na tom nerozumíte?