一.获取当年所有日期
select trunc(sysdate,'yyyy')+rownum-1 as pdays
from dual connect by rownum<=add_months(trunc(sysdate,'yyyy'),12)-trunc(sysdate,'yyyy')
二.获取当月所有日期
select trunc(sysdate,'mm')+rownum-1 as pdays
from dual connect by rownum<=to_number(trunc(to_char(last_day(sysdate),'dd')))
三.获取当年所有月份
select to_char(pday,'mm')pdays from
(select trunc(sysdate,'yyyy')+rownum-1 as pday
from dual connect by rownum<=add_months(trunc(sysdate,'yyyy'),12)-trunc(sysdate,'yyyy'))
group by to_char(pday,'mm')order by pdays
四.当月一号到昨天日期
select * from
(select to_char(sysdate-rownum+1,'yyyy/mm/DD') pdays from dual connect by rownum<=31)
where pdays BETWEEN (select to_char(trunc(sysdate,'mm'),'yyyy/mm/dd') from dual)
and to_char(trunc(sysdate)-1,'yyyy/mm/DD') order by pdays
五.今年月份&天数
select to_char(pday,'yyyy/mm')as pmonth,sum(num)num from
(select 1 num,trunc(sysdate,'yyyy')+rownum-1 as pday
from dual connect by rownum<=add_months(trunc(sysdate,'yyyy'),12)-trunc(sysdate,'yyyy'))
六.某月天数
select add_months(to_date(to_char(sysdate,'yyyy/mm'),'yyyy/mm'),1)
-to_date(to_char(sysdate,'yyyy/mm'),'yyyy/mm')m_num
from dual
七.当年天数
select add_months(trunc(sysdate,'yyyy'),12)-trunc(sysdate,'yyyy') y_num
from dual
八.当月天数
select to_number(to_char(last_day(trunc(sysdate)),'dd'))m_num
from dual