oracle 一个月的日期周期内按照周分组
oracle 一个月的日期周期内按照周分组
小毅子 发表于1年前
oracle 一个月的日期周期内按照周分组
  • 发表于 1年前
  • 阅读 335
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 一个月的日期周期内按照周分组

给定一个月: 2016-06
星期一为一周的第一天, 这个月的日期周期内按周分组, 得到每一周的日期区间。


如下 :  2016-06-01  2016-06-05
            2016-06-06  2016-06-12
            2016-06-13  2016-06-19
            2016-06-20  2016-06-26
            2016-06-27  2016-06-30 

 

select  min(dt) monday,
        max(dt) sunday
    from
    (select level rn,
            trunc(to_date('2016-6', 'YYYY-MM'), 'mm') + level - 1 dt,
            max(decode(to_char(trunc(to_date('2016-6', 'YYYY-MM'), 'mm') + level - 1, 'd'), 2, level, 0)) over(order by level) flag
       from dual
       connect by level <= last_day(trunc(to_date('2016-6', 'YYYY-MM'))) - trunc(to_date('2016-6', 'YYYY-MM'), 'mm') + 1)
    group by flag
  order by min(rn);

 

共有 人打赏支持
粉丝 0
博文 14
码字总数 3921
×
小毅子
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: