如何在PostgreSQL中为日期添加可变的小时数?

时间:2013-03-01 14:34:37

标签: postgresql datetime

Apparently,PostgreSQL没有DATEADD,因为您可以使用+-运算符。

我需要为日期添加一些小时,这样就完成了:

date_field + interval '8.25 hour' 

哪个好,但是我需要来自表格中的字段的小时数。会是这样的:

date_field + interval start_time 'hour' 

我找不到任何地方如何做到这一点。这实际上是不可能的吗?

我不介意使用丑陋的黑客,比如取场值并除以3600,乘以86400.无论我需要做什么,但我也没有办法做到这一点。

4 个答案:

答案 0 :(得分:57)

由于您要添加小时,因此应该是:

SELECT date_field + interval '1h' * start_time

start_time可以是任何数值。

答案 1 :(得分:6)

找到答案,in another SO question

date + interval '1' minute * FLOOR(start_time * 60)

希望能帮到任何人

答案 2 :(得分:4)

为我工作的是

SELECT date_field + interval '1' HOUR * start_time

start_time 可以是任何数值。

答案 3 :(得分:0)

如果有人想添加时间戳,那么

select time '05:00' - interval '2 hours'