我有一个a
列,timestamptz
。另外,我有一个b
列integer
,表示要添加到a
的秒数。我希望日期为a + b
。
这是理想的方式吗?
select a + (b::TEXT || ' seconds')::INTERVAL from table;
我想说,我们必须在这里手动构建一个字符串,这很奇怪。
答案 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'