【发布时间】:2012-03-27 07:23:32
【问题描述】:
我在我的 psql 数据库中有一个查询,但我有一个小问题:
select sge_job.j_id,
sge_job_usage.ju_id,
sge_job_usage.ju_slots,
date_trunc ('hour',sge_job_usage.ju_start_time) – date_trunc ('hour',sge_job.j_submission_time) as "Wait time"
from sge_job,
sge_job_usage
where sge_job.j_id = sge_job_usage.ju_id
and sge_job_usage.ju_start_time >= sge_job.j_submission_time
问题是我获得的 ju_start_time 和 j_submission_time 的信息会保留在小时格式内,但其中一些会包含例如 3 天 12 小时的信息。
它们都是没有时区的时间戳,但我需要它来计算是否为 2 天并将它们添加到小时中。所以我目前的输出是:
71 | 71 | 1 | 01:00:00
72 | 72 | 1 | 01:00:00
73 | 73 | 2 | 4 days 03:00:00
74 | 74 | 2 | 01:00:00
75 | 75 | 2 | 03:00:00
76 | 76 | 2 | 03:00:00
77 | 77 | 1 | 22:00:00
78 | 78 | 1 | 18:00:00
79 | 79 | 2 | 19:00:00
80 | 80 | 2 | 20:00:00
81 | 81 | 2 | 20:00:00
82 | 82 | 2 | 11:00:00
83 | 83 | 2 | 21:00:00
84 | 84 | 2 | 1 day 10:00:00
85 | 85 | 2 | 1 day 17:00:00
86 | 86 | 2 | 2 days 17:00:00
所以使用 date_trunc 小时它会将我的时间格式更改为多少小时,但我似乎无法获得一个函数来摆脱我的日子并将它们转换为小时格式,所以我希望 86 的列是 48结果是小时(2 天)+ 17 = 65 小时,有什么建议可以尝试吗?提前致谢
【问题讨论】:
标签: sql postgresql