【发布时间】:2018-09-14 11:18:42
【问题描述】:
我需要您的帮助来解决问题,我在谷歌上搜索了一些,但无法找到具体的答案。我们有一个工作从星期一运行到星期五,直到现在在星期一运行时,我们过去常常获取星期五的报告,而其他所有日子的报告都是为前一天生成的。此行为是使用以下查询实现的,字段选择是任意的:
select field1, field2... from table where date = (
case when TO_CHAR(TRUNC(sysdate), 'DY') = 'MON' then TRUNC(sysdate - 3)
else (TRUNC(sysdate-1)) END);
现在要求发生了变化,我们需要在周一运行时显示周五、周六和周日所有三天的结果。
我无法找到完成此任务的方法。将不胜感激。
【问题讨论】:
-
在
WHERE子句中使用AND/OR而不是case表达式通常会更好。 -
请edit您的问题并添加一些sample data 和基于该数据的预期输出。 Formatted text 请no screen shots。 (edit 您的问题 - 在 cmets 中不邮政编码或其他信息)
标签: sql oracle oracle11g oracle12c