oracle获得每周,每月,每季度,每年的第一天

当前年月日

SELECT trunc(sysdate) , trunc(sysdate,'dd')
     FROM dual

 

当年第一天

SELECT trunc(sysdate,'yyyy')
     FROM dual

 

当月第一天

SELECT trunc(sysdate,'mm')
     FROM dual

 

当周第一天

SELECT trunc(sysdate,'d')
     FROM dual

 

当前季度第一天,下一季度第一天

SELECT trunc(sysdate,'q'), trunc(add_months(sysdate,3),'q')
     FROM dual

 

每半年的第一天

SELECT add_months(trunc(sysdate,'yyyy'),6)
     FROM dual

 

当月天数

SELECT extract(day from last_day(sysdate))
     FROM dual

 

当年天数

SELECT trunc(add_months(sysdate,12),'yyyy')-trunc(sysdate,'yyyy')
     FROM dual

 

当月的每一天的日期值

SELECT trunc(sysdate,'mm')+rownum-1 
     FROM dual 
  CONNECT BY rownum<=last_day(sysdate)-trunc(sysdate,'mm')+1

 

当年的每一天的值

SELECT trunc(sysdate,'yyyy')+rownum-1 
  FROM dual 
   CONNECT BY rownum<=trunc(add_months(sysdate,12),'yyyy')-trunc(sysdate,'yyyy')

 

指定日期到当天的所有日期值

SELECT to_date('2012-3-3','yyyy-mm-dd')+rownum-1 
  FROM dual
   CONNECT BY rownum<=trunc(sysdate)-to_date('2012-3-3','yyyy-mm-dd')+1

 

下周几的值

SELECT --根据自己的数据库设定输入汉字或英文 
            next_day(sysdate,'星期一')
          --,next_day(sysdate,'Monday')  
     FROM dual
posted @ 2014-07-05 16:24  据说撸撸更健康  阅读(2503)  评论(0编辑  收藏  举报