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提供了很多关于日期时间函数.只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了. 今天要讲的这个例子,需求是这样 ...
随机推荐
- Powerpoin怎么制作电子相册|PPT制作电子相册教程
Powerpoin怎么制作电子相册?你是不是也对这一问题颇感兴趣呢?下面小编就为大家带来PPT制作电子相册详细教程,赶紧准备好你的自拍照什么的,开启Powerpoin制作电子相册之旅吧! Powerp ...
- 『Python』 爬取 WooYun 论坛所有漏洞条目的相关信息
每个漏洞条目包含: 乌云ID,漏洞标题,漏洞所属厂商,白帽子,漏洞类型,厂商或平台给的Rank值 主要是做数据分析使用:可以分析某厂商的各类型漏洞的统计:或者对白帽子的能力进行分析..... 数据更新 ...
- u8818 G300的官方rom刷机包及详细的刷机方法
之前看到有些机友在找华为u8818的官方rom固件包,在这里我给大家分享一下这个手机的官方原版的固件rom包吧,有2.3的,也有4.0的,大家可以根据自己的需求来下载. 华为U8818官方2.3固件: ...
- haskell入门
斯坦福公开课<编程范式>中介绍了Scheme(但是不仅仅是Scheme,它只是作为函数式语言的代表),最后一课介绍了Haskell... “Hello World!”是学习一门语言的魔咒 ...
- HBase Compact
Region Compact请求是在Region MemStore Flush之后被触发的: boolean shouldCompact = region.flushcache(); // We ju ...
- 谈谈托管代码、IL、CLR、ISAPI?
什么是托管代码? 托管代码是可以使用20多种支持Microsoft .NET Framework的高级语言编写的代码,这些语言包括:C#, J#, Microsoft Visual Bas ...
- Spreadsheet Calculator 电子表格计算器 (Uva 215)
原题:https://uva.onlinejudge.org/external/2/215.pdf 有一个M x N的表格,每个单元格是个数字或者表达式.表达式由单元格编号和+ - 号组成 输出单元格 ...
- NSOutputStream\NSInputStream
NSOutputStream-保存网络资源到本地 _filePath = [[NetworkManager sharedInstance] pathForTemporaryFileWithPrefix ...
- 中国四大资产管理公司 ACM
一,来历和主要业务 国家于1999年成立了四家直属国务院的资产管理公司:中国东方资产管理公司.中国信达资产管理公司.中国华融资产管理公司.中国长城资产管理公司.由于资产公司一般是是为适应体制转轨或防范 ...
- SWOT分析法
SWOT(Strengths Weakness Opportunity Threats)分析法,又称为态势分析法或优劣势分析法,用来确定企业自身的竞争优势(strength).竞争劣势(weaknes ...