Postgres - 向timestamptz添加秒数,从其他列添加值

时间:2017-03-25 13:07:58

标签: sql postgresql date

我有一个a列,timestamptz。另外,我有一个binteger,表示要添加到a的秒数。我希望日期为a + b

这是理想的方式吗?

select a + (b::TEXT || ' seconds')::INTERVAL from table;

我想说,我们必须在这里手动构建一个字符串,这很奇怪。

1 个答案:

答案 0 :(得分:4)

这应该有效:

select a + b * interval '1' second

您可以按号码多个间隔。

注意:这可以使用单引号,只需数字或#34; 1秒"。这些是等价的:

select a + b * interval '1' second
select a + b * interval '1 second'

我应该注意,通常间隔仅使用一个时间单位。所以,Postgres接受上述任何一种。对于多个时间单位,则需要一个字符串:

select a + interval '1 day 1 hour'