天天看点

SQL-月季年_初末

--月初
select trunc(sysdate,'MM') from dual;
--月末
select last_day(trunc(sysdate)) from dual;
--季初
select trunc(sysdate,'Q') from dual;
--季末
select add_months(trunc(sysdate,'Q'),3)-1 from dual;
--年初
select trunc(sysdate,'YYYY') from dual;
--年末
select add_months(trunc(sysdate,'YYYY'),12)-1 from dual;

--季初
select trunc(date'2013-01-01','Q') from dual;
--季末
select add_months(trunc(date'2013-01-01','Q'),3)-1 from dual;

select to_char(sysdate,'YYYY') from dual;

select to_char(add_months(sysdate,+6),'YYYY-MM-DD') from dual;

select reverse(substr(reverse(xx.swdjzhm),0,2)) from dj_nsrxx xx;

--上月初
select to_char(add_months(trunc(sysdate,'MM'), -1),'YYYYMMDD')   from dual;
--上月末
select to_char(add_months(last_day(trunc(sysdate)), -1),'YYYYMMDD')   from dual;

round(months_between(to_date(ldt_date, 'YYYY-MM-DD'),to_date(xs.rq, 'YYYY-MM-DD'));
--月初
select to_date(to_char(trunc(sysdate,'MM'),'YYYYMMDD'),'YYYY-MM-DD')   from dual;
select to_char(trunc(sysdate,'MM'),'YYYYMMDD')   from dual;

--月末
select to_date(to_char(last_day(trunc(sysdate)),'YYYYMMDD'),'YYYY-MM-DD')   from dual;
select to_char(last_day(trunc(sysdate)),'YYYYMMDD')  from dual;

select to_date(to_char(trunc(sysdate,'Q'),'YYYYMMDD'),'YYYY-MM-DD') from dual;

select to_date(to_char(add_months(trunc(sysdate,'Q'),3)-1,'YYYYMMDD'),'YYYY-MM-DD') from dual;

select to_char(trunc(sysdate,'Q'),'YYYYMMDD') from dual;
select to_char(add_months(trunc(sysdate,'Q'),3)-1,'YYYYMMDD') from dual;