如何计算两个时间戳之间的时间(PostgreSQL)

4

PostgreSQL 中计算这两个时间戳之间的时间,
create_time='2017-11-02 05:51:13' and update_time='2017-11-02 07:36:18'
并以 HH:MM:SS 格式显示。结果应该像这样显示:01:45:04


1
可能是在PostgreSQL中查找时间戳之间的秒差异的重复问题。 - Ivan Aracki
如果时间戳在不同的日期,期望的结果是什么? - Laurenz Albe
@IvanAracki 我认为这不是那个问题的完全重复,因为 OP 想要时间戳的时间部分,而不仅仅是秒数(或分钟等)。 - Tim Biegeleisen
如果差异大于一天怎么办?那时你想看到什么? - user330315
1个回答

2
您可以尝试直接相减两个时间戳,然后使用to_char提取出时间部分:
select
    SELECT to_char('2017-11-02 07:36:18'::timestamp -
                   '2017-11-02 05:51:10'::timestamp, 'HH:MI:SS');

输出:

to_char
01:45:08

Demo


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接