我在一个表中有原始数据,我在其中以文本字符串“ 4:30 hrs”的形式获得持续时间。解析并转换为分钟的好方法是什么?例如,“ 4:30 hrs”。将解析为整数270。
Postgres具有足够的灵活性,仅通过强制转换即可将字符串'4:30 hrs'
转换为interval
。
然后剩下的就是将间隔设为分钟,您可以通过从中提取epoch
,然后将结果除以60
来完成。
所以我就去:
extract(epoch from '4:30 hrs'::interval) / 60
select mycol, extract(epoch from mycol::interval) / 60 res
from (values ('04:30 hrs'::text), ('29:40 hrs'::text)) as t(mycol)
mycol |资源:-------- | :-04:30时| 27029:40小时| 1780年