一尘不染

Postgres INTERVAL使用表中的值

sql

如果要在日期上加上5天,可以使用以下INTERVAL功能:

select create_ts + interval '5 days' from abc_company;

但是,我的表有一个名为的字段num_of_days,我想将其添加到我的create_ts中。像这样的东西:

select create_ts + interval num_of_days || ' days' from abc_company;

这是行不通的。我怎样才能在postgresql中做到这一点?


阅读 185

收藏
2021-03-10

共1个答案

一尘不染

只需将值乘以一个间隔即可:

select create_ts + num_of_day * interval '1' day 
from abc_company;

从Postgres 9.4开始,使用make_interval()
函数可以更轻松地完成此操作:

select create_ts + make_interval(days => num_of_day)
from abc_company;
2021-03-10