oracle 中某月的第一天,最后一天,前一个月的第一天,最后一天,类似方法

CREATE OR REPLACE VIEW INTERVAL_MONTH_SELECT AS
select to_char(tt.d, 'yyyy-MM') interval_month,
       to_char(tt.d, 'MM') month,
       to_char(last_day(tt.d), 'dd') day,
       tt.d interval_date,
       last_day(tt.d) last_day
  from (select ADD_MONTHS(zz.s, rownum - 1) d
          from (select to_date('2001-01-01', 'yyyy-MM-dd') s,
                       to_date('2050-01-01', 'yyyy-MM-dd') e
                  from dual) zz,
               (select * from user_objects)
         where rownum <= MONTHS_BETWEEN(zz.e, zz.s) + 1) tt

 日期 视图

 

oracle 中某月的第一天,最后一天,前一个月的第一天,最后一天,类似方法

在Oracle 数据库中取某个月份的第一天和最后一天的方法

取当前日期前一个月的第一天的日期
SELECT last_day(add_months(SYSDATE, -2)) + 1  FROM dual;
取当前日期前一个月的最后一天的日期
SELECT last_day(add_months(SYSDATE, -1)) FROM dual;

本月的第一天和最后一天
select to_char(trunc(sysdate,'MONTH'),'yyyy-mm-dd') First_DayOfMonth
       ,to_char(last_day(trunc(sysdate,'MONTH')),'yyyy-mm-dd') Last_DayOfMonth 
from dual


你可能感兴趣的:(oracle)