ORACLE日期加减【转】
首先,感谢这个作者的辛勤汗水给我们带来的总结,因为日期函数操作对平时的使用真的是很常用,所以收藏一下以作后期使用。
原贴地址: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日期加减【转】相关推荐
- oracle sysdate加减日期,oracle 日期 加减方法
oracle 日期 加减方法 oracle 日期加减方法 2011-04-18 08:40 加法 select sysdate,add_months(sysdate,12) from dual; -- ...
- Oracle 日期加减运算
-- Start 我们都知道数字可以进行加.减.乘.除等运算.那么,日期可不可以呢?答案是,日期只能进行加.减运算. 在开始操作日期之前,我们先了解一下 Oracle 支持哪些日期数据类型,如下所示: ...
- oracle日期加减计算
oracle数据库中有多种对日期加减的计算方法,废话不多说,开始. 1.直接加减. (1)求当前时间及一天后: select sysdate,sysdate + 1 from dual; 输出为: 2 ...
- ORACLE 日期加减操作
无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 ...
- Oracle 日期加减年,ORACLE 日期加减操作
无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 ...
- Oracle日期加减
1.运算符操作 直接使用加减即可 SELECT SYSDATE "当前时间", SYSDATE + ( 1 ) "当前时间加一天", SYSDATE + ( 1 ...
- db2 日期加减一天_常用SQL系列之(八):列值累计、占比、平均值以及日期运算等...
本系统为@牛旦教育IT课堂在微头条上发布的内容,为便于查阅,特辑录于此,都是常用SQL基本用法. 前两篇连接: (一):SQL点滴(查询篇):数据库基础查询案例实战 (二):SQL点滴(排序篇):数据 ...
- oracle日期相减工作日_oracle 日期相减 转载
转自 http://hi.baidu.com/juanjuan_66/blog/item/cf48554c9331fbe6d62afc6a.html oracle日期相减 2012-02-10 12: ...
- java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)...
获取周的第一天,最后一天 System.out.println(getStartEndDate("2016-05-01", 1)); 获取星期的第一天和最后一天 System.ou ...
最新文章
- 浏览器访问solr报错:HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure
- 陶哲轩实分析习题8.5.15
- 双绞线直连法如何才能使两台电脑实现共享
- java学习(126):throw向上抛出异常
- Android -- I/O CALL SMS Layout
- 利用SiteMapPath控件做论坛导航
- [转载] Python算法
- Java程序员常用开发工具有哪些?
- SD卡中FAT32文件格式高速入门(图文具体介绍)
- JavaScript使用drag事件
- Cytoscape.js 学习
- 单机100万连接,每秒10万次请求服务端的设计与实现(三) - 变量共享、超线程与高性能队列
- hinge_在Swift中在iOS上重新创建Hinge的配置文件过渡
- gstreamer(三) 常用命令集锦
- 深度强化学习——actor-critic算法(4)
- 【学术素养】做学问,你必须脚踏实地,一步一步去寻找未知,没有捷径可走
- Prezi简体中文支持方法
- 已解决sitk::ERROR: Unable to determine ImageIO reader for “D:zuj\fx05(IOSUDA-master datasetsretinal_dat
- Linux下查看二进制文件
- socket 通讯 案例 详解