编写oracle存储过程中遇到一个问题

通过存储过程的入参传进来一个类型为date的值,赋值给一个变量enddate,要将这个变量-1,然后插入到表中。

我的问题就是怎么对变量进行减1操作。
PCHANNELFASTARTDATE 是 传入进来的变量。我下面那么写报错。请大家帮忙。十分感谢。

UPDATE T_PARTY_DETAIL TPD
               SET TPD.EFFECTIVE_END_DATE = (select date 'PCHANNELFASTARTDATE' -1 from dual) ,
                   TPD.LAST_UPDATED_BY    = PLASTUPDATEDBY,
                   TPD.LAST_UPDATED_DATE  = systemdate
             WHERE TPD.PARTY_ID = VPARTYID
               AND TPD.PARAMETER_ID = VPARAMETERID
               AND TPD.EFFECTIVE_END_DATE IS NULL;

https://blog.csdn.net/QCIWYY/article/details/79286832