从Postgres时间戳中加减时间

9
我正在使用以下ruby代码,配合PG宝石库,返回一个时间戳,其格式为Postgres的“没有时区的时间戳”。我希望它返回一个值(-1小时),而不是当前值。
def get_latest_timestamp(id)
  conn1 = PGconn.open(:dbname => 'testdb')
  res = conn1.exec("SELECT MAX(time_of_search) FROM listings WHERE id=#{id}")
  res.values[0][0]
end
1个回答

17
在Postgres中,您可以添加或减去一个间隔到时间戳中,以生成另一个时间戳,具体描述在这里。因此,在这种情况下,假设time_of_search是一个时间戳,您可以执行以下操作:
"SELECT MAX(time_of_search) - INTERVAL '1 hour' FROM listings WHERE id=#{id}"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接