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(,’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日期加减【转】的更多相关文章
- 类型:Oracle;问题:oracle 时间加减;结果:ORACLE 日期加减操作
ORACLE 日期加减操作 无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinter ...
- Oracle 日期加减运算
-- Start 我们都知道数字可以进行加.减.乘.除等运算.那么,日期可不可以呢?答案是,日期只能进行加.减运算. 在开始操作日期之前,我们先了解一下 Oracle 支持哪些日期数据类型,如下所示: ...
- ORACLE 日期加减操作
无论是DATE还是timestamp都可以进行加减操作. 可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 ...
- oracle 日期相减
oracle日期相减2012-02-10 12:18--MONTHS_BETWEEN(date2,date1) 给出date2-date1的月份 SQL> select months_betwe ...
- oracle 日期相减 转载
转自 http://hi.baidu.com/juanjuan_66/blog/item/cf48554c9331fbe6d62afc6a.html oracle日期相减2012-02-10 12 ...
- Delphi日期函数、日期加减
Delphi里有现成的函数可以实现日期加减,是在DateUtils单元里的. function IncYear(const AValue: TDateTime; const ANumberOfYear ...
- java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)
获取周的第一天,最后一天 System.out.println(getStartEndDate("2016-05-01", 1)); 获取星期的第一天和最后一天 System.ou ...
- js日期加减
先补充下基础知识: var myDate = new Date(); //myDate默认返回当前时间 myDate.getYear(); //获取当前年份(2位) myDate.getFullYea ...
- PHP中的日期加减方法示例
几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数.只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了. 今天要讲的这个例子,需求是这样 ...
随机推荐
- C++explicit关键字
在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换. explicit使用注意事项: * explicit ...
- socket本地模拟TCP 服务器+客户端(二)
建立两个py文件,分别打开两个cmd界面,即可进行通信.服务器端运用多进程,连续不断的处理从客户端接收到的数据:客户端通过一个list不断给客户端发送数据. (每个连接都必须创建新线程(或进程)来处理 ...
- SQL主、外键,子查询
主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...
- reaver使用相关
(非TP-LINK路由推荐–d9 –t9参数防止路由僵死 reaver -i mon0 -b MAC -a -S –d9 –t9 -vv) 小结-学习时应因状况调整参数(-c后面都已目标频道为1作为例 ...
- 关于cmd的东西
为了督促自己,就从简单的开始学起,希望用博客来纪念我的成长 1)输入 CMD 回车.进入DOS提示符状态下.输入cd\ 回车 表示进入 c:\> 也到了C盘根目录下 2)d: 回车 是进入D盘当 ...
- 【HDOJ】4325 Flowers
树状数组+离散化的题目,一直在思考为什么结果不一样,后来才发现花开了就是开了不会再谢了. /* 4325 */ #include <iostream> #include <cstdi ...
- BZOJ 1021 [SHOI2008]Debt 循环的债务
1021: [SHOI2008]Debt 循环的债务 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 694 Solved: 356[Submit][S ...
- BZOJ1674: [Usaco2005]Part Acquisition
1674: [Usaco2005]Part Acquisition Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 259 Solved: 114[Sub ...
- 源代码管理工具TFS2013安装与使用
最近公司新开发一个项目要用微软的TFS2013进行项目的源代码管理,以前只是用过SVN,从来没有用过TFS,所以在网上百度.谷歌了好一阵子来查看怎么安装和配置,还好花了一天时间总算是初步的搞定了,下面 ...
- Largest Number——LeetCode
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...