计算两个时间戳之间的差异

时间:2020-01-27 18:15:14

标签: sql postgresql datediff sql-timestamp

我在PostgreSQL表中有两个Timestamp列(例如2019-07-12 07:59:59)。我需要减去两列,然后将(HH:MM:SS)值保存为新名称?

2 个答案:

答案 0 :(得分:2)

不需要计算历元。减去时间戳记可以直接转换一个时间间隔:

with timestamps (tsa, tsb) as 
     (values ('2020-01-15T06:15:00'::timestamp, '2020-01-15T18:15:00'::timestamp)) 
select to_char(tsb-tsa,'hh24:mi:ss') from timestamps; 

答案 1 :(得分:0)

您将两者结合在一起: 首先获取以秒为单位的差异,然后以hhmmss转换秒:

SELECT TO_CHAR((EXTRACT(EPOCH 
               FROM (timestamp_B - timestamp_A)) || ' second')::interval, 'HH24:MI:SS')