sql 计算时间

 算差月
1.select trunc(sysdate) ,  months_between(trunc(sysdate, 'mm'), trunc(to_date( '2011-2-17', 'YYYY-MM-DD'), 'mm'))    from dual

2.算差天

select trunc(sysdate-to_date('2011-3-10','yyyy-mm-dd')) from dual; 

3算本月最后一天

select trunc(sysdate, 'MONTH') 本月第一天,to_date(to_char(last_day(sysdate),'YYYY-MM-DD'),'YYYY-MM-DD') 本月最后一天 from dual;  

4.系统当前21号

 to_date(to_char(trunc(sysdate),'yyyy-mm') ||'21','yyyy-mm-dd') 

5.select TRUNC(SYSDATE+1)+(1440*6)/(1440*60) from dual; 

原文地址:https://www.cnblogs.com/Look_Sun/p/1988898.html