• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > ORACLE中的日期加减操作实例介绍

ORACLE中的日期加减操作实例介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle 日期加减,oracle 日期加减函数,oracle 日期相加减,oracle 字符串转日期,oracle获取当前日期等相关知识,希望本文的分享对您有所帮助

无论是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
</div>
对当前日期增加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
</div>
对当前日期增加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
</div>
对当前日期增加3天
SQL> select sysdate, sysdate+3 from dual ;

SYSDATE             SYSDATE+3
——————- ——————-
2010-10-14 21:40:46 2010-10-17 21:40:46
</div>
对当前日期增加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
</div>
当前日期增加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
</div>
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
</div>
如果两个日期直接相减,得到的结果是一个数据型,我们可能想要得到两个日期相差值表现形式为:
**年**月**日 **:**:**
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
</div>
即:3年 4 个月 21 天 00:40:15.99999999

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ORACLE中的日期加减操作实例介绍
  • Oracle中查询本月星期5的所有日期列表的语句
  • Oracle 日期的一些简单使用

相关文章

  • 2017-05-11Oracle开发之分析函数(Top/Bottom N、First/Last、NTile)
  • 2017-05-11Oracle中检查是否需要重构索引的sql
  • 2017-05-11oracle正则表达式regexp_like的用法详解
  • 2017-05-11教你怎样用Oracle方便地查看报警日志错误
  • 2017-05-11基于oracle expdp命令的使用详解
  • 2017-05-11oracle创建表空间、授权、创建用户、导入dmp文件
  • 2017-05-11Oracle数据仓库的分层管理器解决方案开发者网络Oracle
  • 2017-05-11Oracle切换为归档模式的步骤及问题解决
  • 2017-05-11plsql与tsql的语法不同
  • 2017-05-11oracle表空间中空表统计方法示例介绍

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • oracle 创建字段自增长实现方式
    • 详解Oracle dg 三种模式切换
    • Oracle 11g数据库安装与卸载的方法图解
    • Oracle 11g控制文件全部丢失从零开始重建控制文件
    • 日常收集整理oracle trunc 函数处理日期格式(很实用)
    • Oracle 数据库 练习题 T8
    • oracle触发器介绍
    • oracle中函数 trunc(),round(),ceil(),floor的使用详解
    • VMware中linux环境下oracle安装图文教程(一)
    • 浅谈Oracle 11g 发行版2 新安装后关于登录的一些基本操作

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有