PostgreSQL获取两个文本字段之间的时间差
我有两个类似于表的字段PostgreSQL获取两个文本字段之间的时间差,postgresql,Postgresql,我有两个类似于表的字段 Time1(varchar) Time2(varchar) 13:01:15 14:02:06 如何获得这两个字段之间的时间差?您可以将值转换为适当的时间值,然后简单地减去它们: '14:02:06'::time - '13:01:15'::time 或 结果是一个真正的问题是:为什么要在varchar列中存储时间值。它应该存储在一个列中,类型为time,实际上它是由其他团队开发的。我使用他们的数据库只是生成报告,我们假设这里的time_
Time1(varchar) Time2(varchar)
13:01:15 14:02:06
如何获得这两个字段之间的时间差?您可以将值转换为适当的时间值,然后简单地减去它们:
'14:02:06'::time - '13:01:15'::time
或
结果是一个真正的问题是:为什么要在varchar列中存储时间值。它应该存储在一个列中,类型为time,实际上它是由其他团队开发的。我使用他们的数据库只是生成报告,我们假设这里的time_2总是大于time_1。可能值得将查询更新为greatesttime_1::time,time_2::time-leasttime_1::time,time_2::time@Scoots:时间间隔可以是负的。我可以通过查询在组中使用sumtime_2::time-time_1::time。如果time_2::time-time_1::time output类型为interval@a_horse_with_no_name正如OP想总结的那样,正负间隔的混合将是有害的。诚然,我们两人的评论都是在我们意识到这一点之前提出的。
time_2::time - time_1::time