Ответ 1
Во-первых, даты должны быть значениями типа timestamp
(поэтому append ::timestamp
, если вы просто указываете их как строковые литералы).
Если вы вычитаете две метки времени, результат имеет тип interval
, который описывает продолжительность времени (в часах, минутах, секундах и т.д.). Вы можете использовать extract(epoch from interval_value)
для преобразования интервала в абсолютное число секунд.
Итак, все вместе:
select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));
Помните, что ::timestamp
требуется только для преобразования строкового литерала в метку времени: вам это не нужно, если вы используете значение столбца временной метки, например.