【发布时间】:2014-05-23 16:44:20
【问题描述】:
所以,过去几天我一直被这个问题困扰,但我仍然无法提出解决方案。
我想将给定的月份分组为几周,这很容易,但(可怕的)业务要求是将一天也视为一周,如果它 周一至周日之间的任何一天。一周的结束日将是星期日。
例如,我将在 8 月份进行演示。根据业务需求,这就是给定月份的数据显示方式
First week - August 1st to August 2nd, 2015
Second week - August 3nd to August 9th, 2015
Third week - August 10th to August 16th, 2015
Fourth week - August 17th to August 23rd, 2015
Fifth week - August 24th to August 30th, 2015
Sixth week - August 31st, 2015
由于出现第六周,我完全不知道如何处理该问题。 我在 AskTom 上遇到了这个查询,它显示 5 周,但在 8 月 31 日重置回 1。此外,查询看起来不是一个优雅的解决方案。
select dt, to_char( dt+1, 'w' )
from ( select to_date('1-aug-2015')+rownum dt
from all_objects
where rownum < 31 );
寻找有关问题的建议/见解。 谢谢
【问题讨论】: