加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle 一个月的日期周期内按照周分组

发布时间:2020-12-12 16:22:43 所属栏目:百科 来源:网络整理
导读:给定一个月: 2016-06 星期一为一周的第一天, 这个月的日期周期内按周分组, 得到每一周的日期区间。 如下 :2016-06-012016-06-05 2016-06-062016-06-12 2016-06-132016-06-19 2016-06-202016-06-26 2016-06-272016-06-30 select min(dt) monday,max(dt) s

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


如下 :2016-06-012016-06-05
2016-06-062016-06-12
2016-06-132016-06-19
2016-06-202016-06-26
2016-06-272016-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','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','mm') + 1)
  group by flag
 order by min(rn);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读