给出如下表格:
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
。
谢谢。
答案 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
希望有帮助!