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

给定一个月: 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);

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...