计算PostgreSQL 9.4上两个小时之间的时差

时间:2019-05-28 16:37:23

标签: postgresql postgresql-9.4

给出如下表格:

    create table meetings(
    id integer primary key,
    start_time varchar,
    end_time varchar
)

考虑到此表中存储的字符串遵循'HH:MM'格式,并且具有24小时格式,因此在PostgreSQL 9.4上有一条命令可以将字段转换为时间,计算它们之间的差,然后返回可用小时数的单一结果?

例如:start_time: '08:00' - end_time: '12:00' 结果必须为4

谢谢。

1 个答案:

答案 0 :(得分:0)

在您的特定情况下,假设您正在使用时钟值(它们都属于同一天),我想您可以做到这一点

(clock_to::time - clock_from::time) as duration

允许我为您准备一个可以运行的示例:

with cte as (
  select '4:00'::varchar as clock_from, '14:00'::varchar as clock_to
)
select (clock_to::time - clock_from::time) as duration
from cte

希望有帮助!