select sysdate from dual;--当前系统时间 --年 select trunc(sysdate,'yyyy') from dual;--获取今年的第一天 select last_day(add_months(trunc(SYSDATE,'yyyy'),11)) from dual;--获取今年的最后一天 --月 select trunc(sysdate,'mm') from dual;--获取今年这个月的第一天 select last_day(trunc(sysdate,'mm')) from dual;--获取今年这个月的最后一天 --日 select trunc(sysdate) from dual;--获取今天日期 select trunc(sysdate-1) from dual;--获取昨天 select add_months(trunc(sysdate,'mm'),-1) from dual;--获取上个月的第一天 --时分秒为00:00:00 select to_char (trunc(SYSDATE-1),'yyyy-mm-dd HH24:MI:SS') from dual; --明年第一天 select to_char (add_months(trunc(SYSDATE,'yyyy'),12),'yyyy-mm-dd HH24:MI:SS') from dual; --今年第一天 select to_char(trunc(SYSDATE,'yyyy'),'yyyy-mm-dd HH24:MI:SS') from dual; --计算日期为星期几,由于每个星期的第一天为周日,则需要再日期上减1 select to_char(to_date(20170419,'yyyymmdd')-1,'d') from dual;