Найти разницу между метками времени в секундах в PostgreSQL

у меня есть таблица в PostgreSQL 8.3 С 2 timestamp столбцы. Я хотел бы получить разницу между этими timestamps в секундах. Не могли бы вы помочь мне, как это сделать?

TableA
(
  timestamp_A timestamp,
  timestamp_B timestamp
)

мне нужно получить что-то вроде (timestamo_B - timestamp_A) в секундах (не только разница между секундами, она должна включать в себя часы, минуты и т. д.).

2 ответов


попробуй:

SELECT EXTRACT(EPOCH FROM (timestamp_B - timestamp_A))
FROM TableA

подробности тут: экстракт.


select age(timestamp_A, timestamp_B)

отвечая на комментарий Игоря:

select age('2013-02-28 11:01:28'::timestamp, '2011-12-31 11:00'::timestamp);
              age              
-------------------------------
 1 year 1 mon 28 days 00:01:28