将时间转换为持续时间

k4ymrczo  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(588)

我在一个表中有原始数据,在这个表中,我以文本字符串“4:30 hrs”的形式得到一个持续时间。有什么好方法可以解析它并将其转换为分钟?例如,“4:30 hrs.”将解析为整数270。

ahy6op9u

ahy6op9u1#

postgres足够灵活,可以转动弦 '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

相关问题