减去时间戳时仅显示小时和更高的单位(Postgres)

时间:2016-09-30 14:14:09

标签: sql postgresql datetime

通常,

age(end, start)

输出:

X days HH:MM:SS.SSSSSSS

您可以使用date_trunc来舍入时间戳。例如:

date_trunc('second', end - start)

输出:

X days HH:MM:SS

现在,我遇到的问题是我希望输出格式为:

X days HH hours

当我使用

date_trunc('hour', processed_timestamp_utc - start_time_utc)

此输出

X days HH:00:00

我该怎么做才能输出

X days HH hours

甚至

X months X days HH hours MM minutes

1 个答案:

答案 0 :(得分:2)

这个怎么样:

regexp_replace(date_trunc('hour', processed_timestamp_utc - start_time_utc)::text, ':00:00$', '');

使用regexp_replace您也可以将其带到您建议的任何其他表单中。