在PostgresSQL中为日期添加天数

在PostgresSQL中为日期添加天数,sql,postgresql,Sql,Postgresql,我需要在列中添加天数。下面是我需要修改的代码: DATE_TRUNC('day', a.targetdeliverydateforcalc) + COALESCE(a.to_transit_time_amount, 0) + 2 我试过这个(和类似的变体): 我通常会这样说: (DATE_TRUNC('day', a.targetdeliverydateforcalc) + (COALESCE(a.to_transit_time_amount, 0) + 2) * INTERVAL '1

我需要在列中添加天数。下面是我需要修改的代码:

DATE_TRUNC('day', a.targetdeliverydateforcalc) + COALESCE(a.to_transit_time_amount, 0) + 2
我试过这个(和类似的变体):


我通常会这样说:

(DATE_TRUNC('day', a.targetdeliverydateforcalc) + 
 (COALESCE(a.to_transit_time_amount, 0) + 2) * INTERVAL '1 DAY'
)

有两种方法可以解决这个问题。计算天数,然后转换为时间间隔:

DATE_TRUNC('day', a.targetdeliverydateforcalc)::date + (COALESCE(a.to_transit_time_amount, 0) + 2)*interval '1 day'
或者计算天数,只需将结果整数相加:

DATE_TRUNC('day', a.targetdeliverydateforcalc)::date + (COALESCE(a.to_transit_time_amount, 0) + 2)

您还可以使用
make_interval()
功能:

DATE_TRUNC('day', a.targetdeliverydateforcalc)
    + make_interval(days => COALESCE(a.to_transit_time_amount, 0) + 2)

DATE\u TRUNC('day',a.targetdeliverydateforcalc)::日期可以简化为
a.targetdeliverydateforcalc::DATE
,感谢大家。从甲骨文的背景来看,我在博士后有很多东西要学。
DATE_TRUNC('day', a.targetdeliverydateforcalc)
    + make_interval(days => COALESCE(a.to_transit_time_amount, 0) + 2)