我一直在尝试删除超过5年的记录。我正在使用sql developer并使用此查询:
DELETE FROM TBLPATIENT WHERE DATEADD(year, 4, DISCHARGE_DATE) < getdate()
&#39; discharge_date&#39;是具有日期数据类型的列名称。该命令给我这个错误,
命令行错误:1列:69错误报告 - SQL错误: ORA-00904:&#34; GETDATE&#34;:无效的标识符 00904. 00000 - &#34;%s:无效标识符&#34; *原因:
*操作:
就像很多天一样,我正在努力解决同样的问题,改变许多命令来删除记录,但没有任何事情可以帮助我..
答案 0 :(得分:2)
要在Oracle中执行此操作,您可以使用:
DELETE FROM TBLPATIENT
WHERE DISCHARGE_DATE + INTERVAL '4' YEAR < SYSDATE;
避免在TBLPATIENT中为每个DISCHARGE_DATE添加文字可能更有效;因此,以下可能值得一试:
DELETE FROM TBLPATIENT
WHERE DISCHARGE_DATE < SYSDATE - INTERVAL '4' YEAR;
分享并享受。