159

我有一个PostgreSQL 8.3有 2timestamp列的表。我想timestamps在几秒钟内得到这些之间的区别。你能帮我完成这件事吗?

TableA
(
  timestamp_A timestamp,
  timestamp_B timestamp
)

我需要在几秒钟内得到类似(timestamo_B - timestamp_A)的东西(不仅仅是秒之间的差异,它应该包括小时、分钟等)

4

3 回答 3

307

尝试: 

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

详细信息在这里:提取

于 2012-12-24T11:43:24.007 回答
38
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
于 2012-12-24T11:47:44.363 回答
-1
SELECT (cast(timestamp_1 as bigint) - cast(timestamp_2 as bigint)) FROM table;

如果有人在使用extract时遇到问题。

于 2020-04-16T16:41:24.270 回答