Использование INTERVAL
?
SELECT ts - INTERVAL '4' HOUR
FROM yourTable;
Демо
Если ваши исходные данные на самом деле являются текстовыми, а не добросовестной временной меткойстолбец, затем вы можете использовать TO_TIMESTAMP_TZ
, чтобы сначала сделать преобразование:
SELECT
TO_TIMESTAMP_TZ(REPLACE(s, 'T', ' ') 'YYYY-MM-DD HH24:MI:SS.FF3TZH:TZM') AS ts_original,
TO_TIMESTAMP_TZ(REPLACE(s, 'T', ' ') 'YYYY-MM-DD HH24:MI:SS.FF3TZH:TZM') - INTERVAL '4' HOUR AS ts_offset
FROM yourTable;