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

原贴地址: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(,’hour’) from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
-- :: -- ::

对当前日期增加50分种

SQL> select sysdate, sysdate+numtodsinterval(,’minute’) from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
-- :: -- ::

对当前日期增加45秒

SQL> select sysdate, sysdate+numtodsinterval(,’second’) from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
-- :: -- ::

对当前日期增加3天

SQL> select sysdate, sysdate+ from dual ;

SYSDATE             SYSDATE+
——————- ——————-
-- :: -- ::

对当前日期增加4个月

SQL> select sysdate, add_months(sysdate,) from dual ;

SYSDATE             ADD_MONTHS(SYSDATE,
——————- ——————-
-- :: -- ::

当前日期增加2年

SQL> select sysdate, add_months(sysdate,*) from dual ;

SYSDATE             ADD_MONTHS(SYSDATE,
——————- ——————-
-- :: -- ::

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

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

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

SQL> SELECT NUMTOYMINTERVAL(MONTHS_BETWEEN(DT1, DT2), ‘month’) mon,
numtodsinterval(dt1-(add_months(dt2,trunc(MONTHS_BETWEEN(DT1, DT2)))
),’day’) DAY
FROM (SELECT SYSDATE DT1,
TO_DATE(’ ::′, ‘yyyy-mm-dd hh24:mi:ss’) DT2
FROM DUAL)
; MON DAY
—————- ———————-
+- + ::15.999999999

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

ORACLE日期加减【转】的更多相关文章

  1. 类型:Oracle;问题:oracle 时间加减;结果:ORACLE 日期加减操作

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

  2. Oracle 日期加减运算

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

  3. ORACLE 日期加减操作

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

  4. oracle 日期相减

    oracle日期相减2012-02-10 12:18--MONTHS_BETWEEN(date2,date1) 给出date2-date1的月份 SQL> select months_betwe ...

  5. oracle 日期相减 转载

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

  6. Delphi日期函数、日期加减

    Delphi里有现成的函数可以实现日期加减,是在DateUtils单元里的. function IncYear(const AValue: TDateTime; const ANumberOfYear ...

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

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

  8. js日期加减

    先补充下基础知识: var myDate = new Date(); //myDate默认返回当前时间 myDate.getYear(); //获取当前年份(2位) myDate.getFullYea ...

  9. PHP中的日期加减方法示例

    几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数.只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了. 今天要讲的这个例子,需求是这样 ...

随机推荐

  1. postgres常用类型

    数值类型 名字 存储空间 描述 范围 smallint 2 字节 小范围整数 -32768 到 +32767 integer 4 字节 常用的整数 -2147483648 到 +2147483647 ...

  2. Python hashlib模块 (主要记录md5加密)

    python提供了一个进行hash加密的模块:hashlib 下面主要记录下其中的md5加密方式(sha1加密一样把MD5换成sha1) >>> import hashlib > ...

  3. Excel--java POi

    import java.io.File; import java.io.FileOutputStream; import org.apache.commons.io.FileUtils; import ...

  4. PHP之路——PHPExcel使用

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGMAAAJkCAIAAAA6GnvRAAAgAElEQVR4nOzd918bV/ov8Pv33Y2RNC

  5. C# 基于委托的事件

    事件基于多播委托的特性. 多播委托事实上就是一组类型安全的函数指针管理器,调用则执行顺序跳转到数组里所有的函数指针里执行. class Program { public class CarInfoEv ...

  6. 一分钟让你明白CSS中的盒模型

    想必初学者对CSS盒模型总是很困惑吧.下面一分钟让你彻底明白盒模型: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" &q ...

  7. word页面不对齐,如何解决?

    http://blog.163.com/haibianfeng_yr/blog/static/34572620201157105439516/

  8. 关于WebView的内存泄露 Leaked webview

    [leaded webview  和WebView内存泄露问题解决方法] 解决方法1: 解决方法2 . 在Fragment回收Webview的时候注意一下. 就是讲他父控件里的内容清空: 参考:htt ...

  9. H1B工作签证紧俏 “中签率”低对中国留学生影响大-中新网

    H1B工作签证紧俏 "中签率"低对中国留学生影响大-中新网 H1B工作签证紧俏 "中签率"低对中国留学生影响大

  10. java中集合杂记

    HashSet类按照哈希算法来存取集合中的对象,具有很有的性能.当HashSet向集合中加入一个对象时,会调用对象的hashCode()方法获得哈希码,然后根据这个哈希码进一步计算出对象在集合中的存放 ...