gpt4 book ai didi

sql - 计算 Postgres 中时间列的总和

转载 作者:行者123 更新时间:2023-11-29 13:43:51 24 4
gpt4 key购买 nike

在我的出勤表中,加类时间以“hh:mm”的格式提及。它在数据库中的字符串列。整月加类作为一个条目输入。所以我的列数据如下

OVERTIME
'52:00'
'30:00'
'98:00'
'06:00'

现在如何获取 OverTime 列的 SUM。

我已经尝试过 SELECT SUM(OVERTIME::TIME) FROM ATTENDANCE。 它给了我错误:

ERROR: date/time field value out of range: "52:00"

最佳答案

假设值为 HH:MM,那么您可以使用字符串操作:

select sum(left(overtime, 2)::numeric + right(overtime, 2)::numeric/60) as hours

请注意,这将以小数小时形式给出结果。

如果你想把值作为一个区间,你也可以这样做:

select sum( cast(overtime as interval) )

请注意,这将以天、小时和分钟的形式给出结果。

关于sql - 计算 Postgres 中时间列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51479381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com