带有 sysdate 的 oracle 顶点时间戳间隔
Posted
技术标签:
【中文标题】带有 sysdate 的 oracle 顶点时间戳间隔【英文标题】:oracle apex timestamp interval with sysdate 【发布时间】:2020-06-17 06:58:35 【问题描述】:嗨,我有一个问题,我想从表中删除过期的条目,所以我使用了 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
这是照片副本:
谁能帮我解决这个问题...
【问题讨论】:
请详细说明:您有错误信息吗?什么是预期的输出 ?请避免发布图片,而只发布计划文本。 零错误,我希望在报告中显示带有 where 子句的过期食品不应显示在报告中 【参考方案1】:不是expiry_date
已经过期的产品吗? <
,不是>
。
and EXPIRY_DATE < SYSTIMESTAMP
不过,我怀疑expiry_date
是一个时间戳;看起来更像date
,所以:
and EXPIRY_DATE < SYSDATE
【讨论】:
我使用 '''SYSTIMESTAMP''' 的原因是 expired_date 表示的时间我已经改变了甲酸盐你能帮我解决这个问题吗 在 Oracle DATE 数据类型中包含日期 和 时间,所以 - SYSDATE 它是。我不知道你想让我“修复”什么。如果您发布了测试用例(CREATE TABLE、INSERT INTO 和预期输出),那么我/我们可以提供进一步的帮助。在那之前,我会说我已经写的符合你的要求。【参考方案2】:我不太清楚你在寻找什么样的解决方案。
您想要一个一次性删除所有过期项目的 SQL 语句吗?
在这种情况下,将选择语句转换为删除语句delete from FOOD_RECEIVED where ....
您希望报告中的删除按钮单独删除它们吗?
您是否尝试使用 APEX 向导创建页面? 创建页面 -> 报告 -> 带表单报告。使用它,APEX 将为您创建一个模式对话框,您可以在其中删除各个项目。
希望对你有所帮助。
【讨论】:
如果我使用 delete,我不希望过期的项目显示在该报告中,然后它将从表中删除,所以你能建议我一个更好的选择 在上面的结果中,报告没有显示过期的项目。您看到的产品在查询执行时有一个未来的到期日期。正是你所说的“想要的”..以上是关于带有 sysdate 的 oracle 顶点时间戳间隔的主要内容,如果未能解决你的问题,请参考以下文章