`

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
对当前日期增加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

分享到:
评论

相关推荐

    oracle_日期_加减方法

    Oracle提供了丰富的函数来帮助用户对日期进行加减操作,这些功能强大且灵活的函数使得开发者能更精确地处理时间数据。以下是Oracle中关于日期加减的一些主要知识点: 1. **加法操作**: - `ADD_MONTHS(date, ...

    Oracle时间日期操作

    4. 日期和时间的计算:使用 `add_months` 函数可以对日期进行月份的加减运算,例如:`add_months(sysdate, -5)` 可以将当前日期减去 5 个月。 5. 日期和时间的比较:使用 `>`、`、`=` 等运算符可以对日期和时间进行...

    oracle 日期 加减方法.pdf

    Oracle数据库在处理日期运算时提供了丰富的函数和方法,使得对日期进行加减操作变得非常方便。在Oracle中,日期不仅可以与整数进行加减运算,还可以与其他日期对象进行比较和计算。以下是一些核心的Oracle日期操作...

    oracle 日期 加减方法.docx

    Oracle数据库在处理日期运算时提供了丰富的函数和方法,使得对日期进行加减操作变得非常方便。在Oracle中,日期不仅可以与数字进行加减,还可以通过特定的函数进行复杂的日期计算。以下将详细介绍Oracle中关于日期加...

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

    本篇文章将深入探讨如何在Oracle中进行日期和时间的加减操作,并通过实例详细介绍如何增加小时、分钟、秒、天、月以及年。 首先,Oracle支持两种日期时间类型:DATE和TIMESTAMP。它们都可以进行加减操作,但...

    Oracle日期时间(DateTime)操作

    在Oracle数据库中,日期时间(DateTime)操作是数据管理和查询中的关键部分,涉及到对日期、时间的处理,包括但不限于加减、格式化、比较等。本文将深入解析Oracle日期时间操作的一些核心知识点,涵盖基本的日期时间...

    Oracle时间操作大全.pdf

    在 Oracle 中,可以使用 sysdate 函数来获取当前系统时间,并通过加减操作来实现时间计算。例如: * sysdate+(5/24/60/60):在系统时间基础上延迟 5 秒 * sysdate+5/24/60:在系统时间基础上延迟 5 分钟 * sysdate+...

    Oracle时间日期操作.pdf

    - 时间单位的加减:例如 `sysdate + (5/24/60/60)` 表示在当前时间基础上增加5秒,`sysdate + 5/24/60` 增加5分钟,`sysdate + 5/24` 增加5小时,`sysdate + 5` 增加5天。 - 月份和年份的加减:`add_months...

    Oracle数据库按时间进行分组统计数据的方法

    在时间操作中,可以结合`SYSDATE`函数和算术运算来加减时间。例如,减少一天可以用`sysdate - 1`,减少半天可以用`sysdate - (1/2)`等。 对于按时间段分组查询,可以创建一个包含多个时间点的子查询,然后用`JOIN`...

    Oracle数据库操作

    Oracle提供了SYSDATE和CURRENT_TIMESTAMP函数来获取系统当前时间,还可以使用ADD_MONTHS、ADD_DAYS等函数对时间进行加减操作。 5. **查询记录子程序**: 查询记录通常涉及编写SQL SELECT语句,但为了代码的可重用...

    使用Oracle中的时间间隔型数据

    时间间隔可以是正数或负数,并且可以直接与TIMESTAMP类型的数据进行加减运算,以计算新的时间点。例如,在实验管理的场景中,可以创建一个表格记录实验的开始时间(experiment_start)和持续时间(experiment_...

    Oracle计算连续天数,计算连续时间,Oracle连续天数统计

    Oracle中的日期函数如`SYSDATE`获取当前系统日期,`ADD_MONTHS`、`TRUNC`用于日期的加减和截断,`NEXT_DAY`则可以得到下一个特定星期的日期。在处理连续天数时,`DATE`和`INTERVAL`数据类型也是常用工具。 2. **自...

    Oracle日期函数练习

    Oracle 日期函数是 Oracle 数据库中的一组功能强大且广泛使用的函数,它们可以对日期进行各种操作和计算,本次练习涵盖了 Oracle 中常用的日期函数,包括获取当前系统时间、对日期的月进行加减、获取给定日期所在月...

    oracle时间管理命令

    - **DATE** 类型的算术运算:可以直接对日期类型的字段进行加减操作。 - **EXTRACT** 函数:可以从日期时间中提取特定部分(如年、月、日等)。 - **TRUNC** 函数:可以用来截断日期时间到特定粒度(如只保留日期,...

    oracle日期处理全集-日期加减全活儿.pdf

    Oracle数据库在日期处理方面提供了丰富的函数,这些函数可以帮助开发者对日期进行各种操作,例如加减、格式转换、取最大最小值等。以下是基于提供的文件内容所介绍的一些关键知识点: 1. **add_months(d,n)**: 这个...

    12.Oracle时间函数1

    可以直接在日期时间上加减数字(单位为天)来得到新的日期时间。例如,`SYSDATE + 1`表示当前日期时间后的一天,`SYSDATE - 1/24`则表示当前时间前的一小时。 `ADD_MONTHS`函数用于在日期时间上添加或减去完整月数...

    oracle数据库语法

    操作符是指 Oracle 数据库中的运算符,例如加减乘除、比较运算符、逻辑运算符等。这些操作符可以用于各种 SQL 语句中,例如 SELECT、INSERT、UPDATE 等。 高级查询 高级查询是指 Oracle 数据库中的高级查询技术,...

    Oracle中的日期时间存储.docx

    在Oracle中,日期加减操作的默认单位是天。例如,要为当前日期加上30分钟,可以使用`sysdate + (30/24/60)`,这里将分钟转换为天数。若要减去30分钟,只需添加负号即可,如`sysdate + (-30/24/60)`。 对于月份的加...

    oracle日期处理全集-日期加减全活儿.doc.docx

    Oracle 日期处理全集 Oracle 日期处理函数是 Oracle 中的一组强大的函数,用于处理日期和时间相关的操作。...这些函数可以用来实现各种日期和时间相关的操作,例如日期加减、日期比较、日期格式转换等。

Global site tag (gtag.js) - Google Analytics