我在PostgreSQL表中有两个Timestamp
列(例如2019-07-12 07:59:59
)。我需要减去两列并以新名称保存(HH:MM:SS
)值?
您将两者结合起来:首先获取以秒为单位的差异,然后以hhmmss转换秒:
SELECT TO_CHAR((EXTRACT(EPOCH
FROM (timestamp_B - timestamp_A)) || ' second')::interval, 'HH24:MI:SS')
不需要计算历元。减去时间戳记可以直接转换一个间隔:
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;