我有一个列,其格式为“12:19:04”。 即12小时19分钟和4秒。 考虑到工作时间为一天,即10小时,我希望将其转换为天数
因此上述时间应显示为1天2小时19分钟和4秒
如果小时值太大,则应显示月份小时和分钟。
请帮助我。
答案 0 :(得分:1)
最简单的方法:使用纪元时间,以秒为单位除以10天,将余数转换回秒数。
WITH s(secs) AS (SELECT extract(epoch from interval '12:19:04'))
SELECT justify_interval(
floor(secs / 36000) * INTERVAL '1' DAY
+ (secs::integer % 36000) * INTERVAL '1' SECOND
) FROM s;