簡體   English   中英

在oracle11.2中使用case語句刪除Sql查詢

[英]Delete Sql Query with case statement in oracle11.2

我當前的代碼是create table p(px int primary key, createDate date,updateDate date);

insert into p values(1,'23-JUL-15','25-JUL-15');

 insert into p values(2, '23/JUN/2015','25-JUL-15');

 insert into p values(3, '23/May/2015','25/May/15');

 insert into p values(4, '23/April/2015','25/April/2015');

 insert into p values(5, '23/March/2015','25/March/2015');

我的上一個查詢是delete from p where add_months(sysdate, - 3) > p.updateDate; 但是,現在我想使用if if else。 如果updateDate為null,我想與createDate列一起使用。因此,現在我使用case語句。我當前的查詢是DELETE FROM p WHERE add_months(sysdate, - 3) > case Updatedate when updatedate IS NULL else updateDate end; 但是現在我發現了錯誤。我可以對case語句使用delete sql查詢嗎?

嘗試這個

DELETE FROM p  WHERE add_months(sysdate,  - 3) > 
case when updatedate IS NULL then createDate else updateDate end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM