时间戳变量和时间变量之间的差异

时间:2014-03-18 18:40:48

标签: postgresql

我在postgresql(table1)中有以下表格:

timestamp1  timestamp without time zone NOT NULL,
variable1 integer,
timestamp2  timestamp without time zone NOT NULL

我想计算时间戳2。

请注意,变量1在表1中是整数类型,但实际上是以小时为单位定义的时间变量

timestamp2由timestamp1和variable1的差异定义 (timestamp2 = timestamp1 - variable1)

例如,

2013-02-06 07:00:00  -  5 = 2013-02-06 02:00:00
2013-02-06 09:00:00  - 12 = 2013-02-05 21:00:00 
2013-02-06 12:00:00  - 4.5  = 2013-02-06 07:30:00           

如何在postgresql中进行此计算(timestamp2)?

2 个答案:

答案 0 :(得分:2)

select timestamp1 - interval '1 hour' * variable1
from table1

答案 1 :(得分:1)

Postgres将数字理解为时间:

  • 5 - > 5点00分00秒
  • 12 - > 12:00:00
  • 4.5 - > 4点三十〇分00秒