【发布时间】:2017-08-11 22:58:58
【问题描述】:
我正在尝试创建一个视图,该视图比较具有 ('Daily'、'Wednesday'、'Tuesday' 等值的 SCHEDULE 表和另一个每天更新的表 (REPORT CREATED)日期(2017 年 8 月 11 日)。基本上,如果 Schedule 表显示 Daily,则 Report Created 表记录值应该是 sysdate(当前日期)等于的值。也就是说,我不确定如何找出最近的“星期三”或“星期二”等于什么。我确实找到了 SQL server (How to get Saturday's Date (Or any other weekday's Date)- SQL Server) 的函数;但是,我不明白它是如何工作的,并且在 Oracle 中找不到等价物。任何指导将不胜感激!
编辑:我创建了两个示例表:
日程表:
Report_Name | Frequency
ORDERS_BY_DEPT | Daily
LOW_STOCK | Wednesday
INVENTORY_DISC | Thursday
和报告表:
Report_Name | Create_Dt
INVENTORY_DISC | 3-Aug-2017
LOW_STOCK | 9-Aug-2017
ORDERS_BY_DEPT | 10-Aug-2017
基本上,Inventory_Disc 报告已关闭,因为它本应在每个星期四运行,但自上周四以来未更新,Orders_By_Dept 报告已关闭,因为它是每日报告且今天未运行。
【问题讨论】:
-
过滤过去 7 天,并使用 weekdays 的连接表达式...
-
请提供minimal reproducible example - 表格数据、预期输出等
-
你能添加一个示例数据吗