如何在Oracle SQL中更新特定ID的日期?
我正在为一家潜水公司建立一个数据库,并有一个SQL表,其中包含学生ID SID、教员ID IID、项目借用ITEMID、设备借用日期借用日期和设备归还日期返回日期的值。如何更改其中一名学生的设备归还日期?我想在返回日期的基础上再加两天。我创建了如下所示的借用表:如何在Oracle SQL中更新特定ID的日期?,sql,oracle,Sql,Oracle,我正在为一家潜水公司建立一个数据库,并有一个SQL表,其中包含学生ID SID、教员ID IID、项目借用ITEMID、设备借用日期借用日期和设备归还日期返回日期的值。如何更改其中一名学生的设备归还日期?我想在返回日期的基础上再加两天。我创建了如下所示的借用表: CREATE TABLE BORROWS( SID CHAR(15), ITEMID CHAR(15), IID CHAR(15), BORROW_DATE DATE, RETURN_DATE DATE, PRI
CREATE TABLE BORROWS(
SID CHAR(15),
ITEMID CHAR(15),
IID CHAR(15),
BORROW_DATE DATE,
RETURN_DATE DATE,
PRIMARY KEY(SID, ITEMID),
FOREIGN KEY(SID) REFERENCES STUDENT(SID) ON DELETE CASCADE,
FOREIGN KEY(ITEMID) REFERENCES EQUIPMENT(ITEMID) ON DELETE CASCADE,
FOREIGN KEY(IID) REFERENCES INSTRUCTOR(SSN) ON DELETE CASCADE
);
我尝试在我的SQL文件中执行此操作:
SELECT SID, ADD_DATE(RETURN_DATE, INTERVAL 2 DAY)
FROM BORROWS
WHERE SID = '005' AND IID = '108';
我将返回此错误:
SELECT SID, ADD_DATE(RETURN_DATE, INTERVAL 2 DAY)
*
ERROR at line 1:
ORA-00907: missing right parenthesis
无法找出错误在我的代码中的位置…将两天添加到日期就像+2一样简单
select return_date + 2
from borrows
where sid='005'
and iid='108'
您要查找的语法可能是:
select (return_date + INTERVAL '2' DAY)
from borrows
where sid='005'
and iid='108'
你是说约会吗?您是否尝试在查询中返回\u DATE+2。选择SID,到\u dateRETURN\u DATE+2,'dd-mon-yyyy',其中SID='005'和IID='108';哎呀,是的,我是说约会。我在我的程序中有这个,并且给出了相同的错误消息。谢谢,我会测试它并让你知道。您在www.w3schools.com上添加信息的日期是否错误?他们没有提到在他们的网站中使用“+”操作符或引用2。你的问题是SQL,ORACLE。不是SQL,而是MYSQL。所以我的答案是针对Oracle数据库而不是MySQL。啊……我没有注意到页面是针对MySQL的。是的,我正在寻找一个Oracle SQL解决方案。这是可行的,但创建了一个带有更新日期的新表。如何使这些日期显示在文件末尾的SELECT*FROM BOLOWS中?我尝试过这样做,但它不起作用:将RETURN_DATE值RETURN_DATE+2插入到借款中,其中SID='005'和IID='108';错误消息是SID='005'和IID='108'*第3行的错误:ORA-00933:SQL命令未正确结束抱歉,我对SQL非常陌生。@JIL:您想要更新,而不是插入: