ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle对于时间间隔的处理

oracle对于时间间隔的处理

原创 Linux操作系统 作者:lihy114 时间:2013-10-31 16:23:08 0 删除 编辑
oracle在处理日期函数的时候有下面两种表示方法:
1、select to_char((sysdate - interval '1' month),'yyyy-mm-dd') from dual;
2、select add_months(sysdate,-1) from dual;

第一种方法使用的是相隔的方法,oracle在处理的时候不进行逻辑判断;比如今天是10月31号,计算一个月前的时间就会报错,因为9月份没有31号。但是如果使用内置函数add_months的话,内部就进行处理,会判断出一个月前是9月30号

select to_char((sysdate - interval '1' month),'yyyy-mm-dd') from dual;

>[错误] 脚本行:8-8 ---------------------------------------
 ORA-01839: 指定月份的日期无效
 脚本行 8,语句行 1,列 24 
 
 
select add_months(sysdate,-1) from dual

ADD_MONTHS(SYSDATE,-1)    
 ------------------------- 
 2013-9-30 下午4:18:24      

所以在计算时间相隔的时候,尽量使用内置函数add_months

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28803801/viewspace-775431/,如需转载,请注明出处,否则将追究法律责任。

上一篇: data pump总结
请登录后发表评论 登录
全部评论

注册时间:2013-08-08

  • 博文量
    54
  • 访问量
    152614