带有sysdate的Oracle顶点时间戳间隔

问题描述 投票:0回答:2

嗨,我有一个问题,我想从表中删除过期的条目,所以我使用了SQL where子句这是我的SQL代码

'''

select ROWID,
       FOOD_RECEIVED_UID,
       USER_NAME,
       ITEM_TYPE,
       ITEM,
       QUANTITY,
       EXPIRY_DATE,
       CREATED_ON,
       CREATED_BY,
       UPDATED_ON,
       UPDATED_BY,
       USER_UID
  from FOOD_RECEIVED
   WHERE (ITEM_TYPE = :P9_ITEM_TYPE OR :P9_ITEM_TYPE IS NULL)and EXPIRY_DATE > SYSTIMESTAMP

'''

here is the photo copy

谁能帮我解决这个问题...

sql oracle apex
2个回答
0
投票

expiry_date已经通过的产品不是过期产品吗? <,而不是>

and EXPIRY_DATE < SYSTIMESTAMP

尽管,我怀疑expiry_date是一个时间戳;看起来更像是date,因此:

and EXPIRY_DATE < SYSDATE

0
投票

我不清楚您要寻找哪种解决方案。

  1. 您是否想要一次可一次性删除所有过期项目的SQL语句?

    在那种情况下,将select语句转换为delete语句delete from FOOD_RECEIVED where ....

  2. 您是否希望报表中的删除按钮将其分别删除?

    您是否尝试使用APEX向导创建页面? 创建页面-> 报告-> 带有表单的报告。 APEX将使用它为您创建一个模式对话框,您可以在其中删除单个项目。

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.