SQL 年-月-周 不重复

with temp as(
select * from (
SELECT TRUNC(to_date('2020'||'01-01','yyyy-mm-dd'), 'YYYY') + ROWNUM - 1  as day
 FROM DUAL
CONNECT BY ROWNUM <=
           ADD_MONTHS(TRUNC(to_date('2020'||'01-01','yyyy-mm-dd'), 'YYYY'), 12) - TRUNC(to_date('2020'||'01-01','yyyy-mm-dd'), 'YYYY')
  )
order by day  )
select distinct week from (
  select day ,
  trunc(day,'ww') w1,
  to_char(day,'ww') w2,
  to_char(trunc(day,'ww'),'yyyy-mm')||'   '||to_char(day,'ww')||'' week
  from temp  
)
order by week  

猜你喜欢

转载自www.cnblogs.com/dreamttt/p/12134115.html
今日推荐