首页 > 代码库 > oracle获得每周,每月,每季度,每年的第一天

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