Oracle时间与日期的相关操作实例


  本文标签:Oracle时间

  以下相关内容就是对Oracle时间与日期的相关操作的详细介绍,如果你对Oracle时间与日期的相关操作有不解之处的地方,你可以浏览以下的文章对其的实际应用有一个更好的了解,以下就是文章的内容介绍  。

  sysdate+(5/24/60/60) 在系统时间基础上延迟5秒

  

  sysdate+5/24/60 在系统时间基础上延迟5分钟

  

  sysdate+5/24 在系统时间基础上延迟5小时

  

  sysdate+5 在系统时间基础上延迟5天

  

  add_months(sysdate,-5) 在系统时间基础上延迟5月

  

  add_months(sysdate,-5*12) 在系统时间基础上延迟5年

  

  

  上月末的日期:

  1. select last_day(add_months(sysdate, -1)) from dual; 

  

  本月的最后一秒:

  1. select trunc(add_months(sysdate,1),MM) - 1/24/60/60 from dual 

  

  本周星期一的日期:

  1. select trunc(sysdate,day)+1 from dual 

  

  

  年初至今的天数:

  1. select ceil(sysdate - trunc(sysdate, year)) from dual; 

  

  今天是今年的第几周 :

  1. select to_char(sysdate,fmww) from dual 

  今天是本月的第几周:

  1. SELECT TO_CHAR(SYSDATE,WW) - TO_CHAR(TRUNC(SYSDATE,MM),WW) 
    + 1 AS "weekOfMon" FROM dual 

  

  

  本月的天数

  

  1. SELECT to_char(last_day(SYSDATE),dd) days FROM dual 

  

  今年的天数

  

  

  1. select add_months(trunc(sysdate,year), 12) - 
    trunc(sysdate,year) from dual 

  

  Oracle时间在下个星期一的日期

  

  

  1. SELECT Next_day(SYSDATE,monday) FROM dual 

  

  

  

  计算工作日方法

  

  1. create table t(s date,e date);  
  2. alter session set nls_date_format = yyyy-mm-dd;  
  3. insert into t values(2003-03-01,2003-03-03);  
  4. insert into t values(2003-03-02,2003-03-03);  
  5. insert into t values(2003-03-07,2003-03-08);  
  6. insert into t values(2003-03-07,2003-03-09);  
  7. insert into t values(2003-03-05,2003-03-07);  
  8. insert into t values(2003-02-01,2003-03-31);  

  

  

  以上的相关内容就是对Oracle时间的介绍,望你能有所收获  。