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时间的介绍,望你能有所收获。 

【编辑推荐】

  1. Oracle数据库中怎样选择合适索引类型
  2. 对Oracle10修改机器名后服务无法启动的解决
  3. Oracle to_char()函数具有强大的功能
  4. Oracle函数to_char转化成小数点的位数
  5. 把Oracle 字符串转换成TIMESTAMP类型的方案
THE END