首先,感谢这个作者的辛勤汗水给我们带来的总结,因为日期函数操作对平时的使用真的是很常用,所以收藏一下以作后期使用。

原贴地址:http://www.cnblogs.com/xiao-yu/archive/2011/05/24/2055967.html

无论是DATE还是timestamp都可以进行加减操作。
可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法:

1 使用内置函数numtodsinterval增加小时,分钟和秒
2 加一个简单的数来增加天
3 使用内置函数add_months来增加年和月

例:
对当前日期增加一个小时:

SQL> select sysdate, sysdate+numtodsinterval(1,’hour’) from dual ;SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:38:19 2010-10-14 22:38:19

对当前日期增加50分种

SQL> select sysdate, sysdate+numtodsinterval(50,’minute’) from dual ;SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:39:12 2010-10-14 22:29:12

对当前日期增加45秒

SQL> select sysdate, sysdate+numtodsinterval(45,’second’) from dual ;SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:40:06 2010-10-14 21:40:51

对当前日期增加3天

SQL> select sysdate, sysdate+3 from dual ;SYSDATE             SYSDATE+3
——————- ——————-
2010-10-14 21:40:46 2010-10-17 21:40:46

对当前日期增加4个月

SQL> select sysdate, add_months(sysdate,4) from dual ;SYSDATE             ADD_MONTHS(SYSDATE,
——————- ——————-
2010-10-14 21:41:43 2011-02-14 21:41:43

当前日期增加2年

SQL> select sysdate, add_months(sysdate,12*2) from dual ;SYSDATE             ADD_MONTHS(SYSDATE,
——————- ——————-
2010-10-14 21:42:17 2012-10-14 21:42:17

timestamp的操作方法与上面类似;
求两个日期之差:
例:求2007-5-23 21:23:34与当前时间之间的差值。

SQL> select sysdate-to_date(’20070523 21:23:34′,’yyyy-mm-dd hh24:mi:ss’) dt from
dual ;DT
———-
1240.01623

如果两个日期直接相减,得到的结果是一个数据型,我们可能想要得到两个日期相差值表现形式为:
**年**月**日 **:**:**

SQL> SELECT NUMTOYMINTERVAL(MONTHS_BETWEEN(DT1, DT2), ‘month’) mon,
2         numtodsinterval(dt1-(add_months(dt2,trunc(MONTHS_BETWEEN(DT1, DT2)))
),’day’) DAY
3    FROM (SELECT SYSDATE DT1,
4                 TO_DATE(’20070523 21:23:34′, ‘yyyy-mm-dd hh24:mi:ss’) DT2
5          FROM DUAL)
6 ;MON                  DAY
—————-     ———————-
+000000003-04        +000000021 00:40:15.999999999

即:3年 4 个月 21 天 00:40:15.99999999

转载于:https://www.cnblogs.com/yaoweber/p/4067312.html

ORACLE日期加减【转】相关推荐

  1. oracle sysdate加减日期,oracle 日期 加减方法

    oracle 日期 加减方法 oracle 日期加减方法 2011-04-18 08:40 加法 select sysdate,add_months(sysdate,12) from dual; -- ...

  2. Oracle 日期加减运算

    -- Start 我们都知道数字可以进行加.减.乘.除等运算.那么,日期可不可以呢?答案是,日期只能进行加.减运算. 在开始操作日期之前,我们先了解一下 Oracle 支持哪些日期数据类型,如下所示: ...

  3. oracle日期加减计算

    oracle数据库中有多种对日期加减的计算方法,废话不多说,开始. 1.直接加减. (1)求当前时间及一天后: select sysdate,sysdate + 1 from dual; 输出为: 2 ...

  4. ORACLE 日期加减操作

    无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 ...

  5. Oracle 日期加减年,ORACLE 日期加减操作

    无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 ...

  6. Oracle日期加减

    1.运算符操作 直接使用加减即可 SELECT SYSDATE "当前时间", SYSDATE + ( 1 ) "当前时间加一天", SYSDATE + ( 1 ...

  7. db2 日期加减一天_常用SQL系列之(八):列值累计、占比、平均值以及日期运算等...

    本系统为@牛旦教育IT课堂在微头条上发布的内容,为便于查阅,特辑录于此,都是常用SQL基本用法. 前两篇连接: (一):SQL点滴(查询篇):数据库基础查询案例实战 (二):SQL点滴(排序篇):数据 ...

  8. oracle日期相减工作日_oracle 日期相减 转载

    转自 http://hi.baidu.com/juanjuan_66/blog/item/cf48554c9331fbe6d62afc6a.html oracle日期相减 2012-02-10 12: ...

  9. java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)...

    获取周的第一天,最后一天 System.out.println(getStartEndDate("2016-05-01", 1)); 获取星期的第一天和最后一天 System.ou ...

最新文章

  1. 浏览器访问solr报错:HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure
  2. 陶哲轩实分析习题8.5.15
  3. 双绞线直连法如何才能使两台电脑实现共享
  4. java学习(126):throw向上抛出异常
  5. Android -- I/O CALL SMS Layout
  6. 利用SiteMapPath控件做论坛导航
  7. [转载] Python算法
  8. Java程序员常用开发工具有哪些?
  9. SD卡中FAT32文件格式高速入门(图文具体介绍)
  10. JavaScript使用drag事件
  11. Cytoscape.js 学习
  12. 单机100万连接,每秒10万次请求服务端的设计与实现(三) - 变量共享、超线程与高性能队列
  13. hinge_在Swift中在iOS上重新创建Hinge的配置文件过渡
  14. gstreamer(三) 常用命令集锦
  15. 深度强化学习——actor-critic算法(4)
  16. 【学术素养】做学问,你必须脚踏实地,一步一步去寻找未知,没有捷径可走
  17. Prezi简体中文支持方法
  18. 已解决sitk::ERROR: Unable to determine ImageIO reader for “D:zuj\fx05(IOSUDA-master datasetsretinal_dat
  19. Linux下查看二进制文件
  20. socket 通讯 案例 详解

热门文章

  1. 《java编程思想》学习笔记——内部类五
  2. RHEL6 PXE+KickStart全自动安装配置指南
  3. ACM图灵奖获得者:想从大数据中获益,先解决集成问题!
  4. LINUX TOMCAT
  5. 利用Eventlog Analyzer分析日志
  6. 程序员杂记:兴趣井”与“机遇缝”
  7. 防止一个进程被多次启动
  8. windows连接linux系统telnet端口23无法连接的问题
  9. ruby require的使用
  10. NGUI的异步场景加载进度条