我在一个表中有原始数据,在这个表中,我以文本字符串“4:30 hrs”的形式得到一个持续时间。有什么好方法可以解析它并将其转换为分钟?例如,“4:30 hrs.”将解析为整数270。
ahy6op9u1#
postgres足够灵活,可以转动弦 '4:30 hrs' 到一个 interval 通过铸造它。然后剩下要做的就是将时间间隔改为分钟,您可以通过提取 epoch 将结果除以 60 .所以我想说:
'4:30 hrs'
interval
epoch
60
extract(epoch from '4:30 hrs'::interval) / 60
db小提琴演示:
select mycol, extract(epoch from mycol::interval) / 60 res from (values ('04:30 hrs'::text), ('29:40 hrs'::text)) as t(mycol)
mycol | res :-------- | :--- 04:30 hrs | 270 29:40 hrs | 1780
1条答案
按热度按时间ahy6op9u1#
postgres足够灵活,可以转动弦
'4:30 hrs'
到一个interval
通过铸造它。然后剩下要做的就是将时间间隔改为分钟,您可以通过提取
epoch
将结果除以60
.所以我想说:
db小提琴演示: