INTERVAL

时间:2015-05-20 18:26:51

标签: sql postgresql postgresql-9.2

所以我试图在postgres的INTERVAL中有一个select语句

UPDATE v_obligation 
    SET current_alert_level=0,
        last_update_date=now()AT TIME ZONE 'PST',
        next_due_date = (now()+INTERVAL ''(
                 SELECT recurrence FROM v_obligation 
                         WHERE obligation_id=4) Day'')
    WHERE obligation_id = 4

但是我在嵌套查询中遇到语法错误。我记不起以前做过这样的事了。如你所见,我试图逃避报价,但无济于事。

真诚感谢任何帮助......非常感谢!

1 个答案:

答案 0 :(得分:0)

有一种简单的方法可以将整数转换为间隔,例如

select now()+ (select 5) * '1 day'::interval

所以试试这个:

UPDATE v_obligation 
    SET current_alert_level=0,
        last_update_date=now()AT TIME ZONE 'PST',
        next_due_date = (now()+
                (SELECT recurrence FROM v_obligation 
                    WHERE obligation_id=4)* '1 day'::interval
    WHERE obligation_id = 4