从间隔中提取时间

时间:2016-05-21 09:55:41

标签: sql postgresql

如何从间隔行中提取时间?

e.g。 '1天2小时30分钟',我只想'2小时30分钟'

我需要将时间间隔转换为时间行,也许还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用G:\C++\boost\boost_1_61_0\stage\lib

extract

如果您想将其转换为实际select extract(hour from interval_column), extract(minute from interval_column) from the_table 值,您可以使用:

time

上述情况可能会失败,因为间隔 可能包含超过24小时。在这种情况下,您需要使用select make_time(extract(hour from interval_column)::int, extract(minute from interval_column)::int, 0) from the_table - 但这听起来很奇怪:

justify_interval

这会将select make_time(extract(hour from justify_interval(interval_column))::int, extract(minute from justify_interval(interval_column))::int, 0) from the_table 转换为时间interval '100' hour - 无论你打算怎么做

另一种选择是将时间间隔添加到时间:

04:00