我使用 Derby 数据库创建了表。
CREATE TABLE PROJECT
(PID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,
PSDATE DATE,
PDURATION INTEGER,
PEDATE DATE,
PRIMARY KEY (PID)
);
我试图更新此项目表中的结束日期,将持续时间添加到开始日期。
UPDATE PROJECT
SET PEDATE = ADD_MONTHS (PROJECT.PSDATE, PROJECT.PDURATION)
WHERE PID = PROJECT.PID;
但我得到以下错误
"[Exception, Error code 30,000, SQLState 42Y03] 'ADD_MONTHS' is not recognized as a function or
procedure.
Line 1, column 1"
后来我尝试了下面的代码
select {fn TIMESTAMPADD(SQL_TSI_DAY, +pduration, psdate)}
from name.PROJECT
where pid = project.PID
我可以使用 TIMESTAMPADD 函数来更新 Derby 数据库中的项目表吗?提前感谢帮助我解决这个问题。
此查询(由Akina提供)在将持续时间添加到开始日期时更新我的结束日期。