`
xuyiooo
  • 浏览: 75433 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle中用sql时间相减的问题

阅读更多
--MONTHS_BETWEEN(date2,date1)
给出date2-date1的月份
SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;

MON_BETWEEN
-----------
  9
SQL>select months_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.dd')) mon_betw from dual;

MON_BETW
---------
-60

Oracle计算时间差表达式

--获取两时间的相差豪秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;
/*
相差豪秒数
----------
  86401000
1 row selected
*/

--获取两时间的相差秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒数 FROM DUAL;
/*
相差秒数
----------
     86401
1 row selected
*/

--获取两时间的相差分钟数
select ceil(((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60)  相差分钟数 FROM DUAL;
/*
相差分钟数
----------
      1441
1 row selected
*/

--获取两时间的相差小时数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24)  相差小时数 FROM DUAL;
/*
相差小时数
----------
        25
1 row selected
*/

--获取两时间的相差天数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')))  相差天数 FROM DUAL;
/*
相差天数
----------
         2
1 row selected
*/

----------------------------------------
注:天数可以2个日期直接减,这样更加方便
----------------------------------------

--获取两时间月份差
select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 +
       EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months
from dual;
/*
MONTHS
----------
        13
1 row selected
*/

--------------------------------------
注:可以使用months_between函数,更加方便
--------------------------------------

--获取两时间年份差
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from dual;
/*
YEARS
----------
         1




select sysdate,add_months(sysdate,12) from dual;  --加1年
select sysdate,add_months(sysdate,1) from dual;   --加1月
select sysdate,TO_CHAR(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1星期
select sysdate,TO_CHAR(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1天
select sysdate,TO_CHAR(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1小时
select sysdate,TO_CHAR(sysdate+1/24/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1分钟
select sysdate,TO_CHAR(sysdate+1/24/60/60,'yyyy-mm-dd HH23:MI:SS') from dual;  --加1秒
select   sysdate+7   from   dual;                     --加7天
分享到:
评论

相关推荐

    oracle sql计算一段时间内(除去周六日)的秒数

    利用 oracle sql 实现 计算一段时间内(除去周六日)的秒数

    西门子博途1200 时间相减

    西门子博途1200 时间相减 西门子博途1200 时间相减是指在 Siemens STEP 7 (TIA Portal) 中,对 CPU 模块的日期和时间变量进行输入、读取和编辑。为了实现这一功能,需要使用特定的数据类型和指令。 在 S7-300/400 ...

    SQL语句中如何做到间隔行相减

    在SQL语句中实现间隔行相减是一种较为高级的数据处理技巧,主要应用于需要对数据集中的数值进行基于位置的计算场景。例如,在财务分析、时间序列数据处理或统计学研究中,这种操作可以帮助我们理解数据随时间或其他...

    C#中两时间相减(return x天x小时x分x秒)

    在本文中,我们将深入探讨如何在C#中进行时间相减,并返回一个格式化为“x天x小时x分x秒”的结果。 首先,让我们了解C#中的DateTime结构。DateTime是.NET Framework中用于表示日期和时间的类,它提供了多种方法和...

    数据库时间类型小总结(Oracle,Mysql,SqlServer).doc

    三大数据库常用时间类型总结

    mssql sqlserver 使用sql脚本实现相邻两条数据相减.docx

    MSSQL SQL Server 使用 SQL 脚本实现相邻两条数据相减 MSSQL SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业和领域。有时,我们需要对数据库中的数据进行操作,例如计算相邻两条数据的差异。在本文中...

    Oracle里面 SQL语句 怎么得到两个时间的时间差

    在Oracle数据库中,计算两个日期之间的时间差是一个常见的需求,特别是在处理与时间相关的业务逻辑时。根据提供的信息,本文将详细...理解并熟练掌握这些技巧,将有助于更好地利用Oracle数据库处理复杂的时间相关问题。

    sql求时间差(XX天XX时XX分XX秒)

    sql求时间差(XX天XX时XX分XX秒) select dbo.f_second_Time(datediff(ss,'2009-5-21 10:10:26','2009-7-22 10:19:06')) --62天00:08:40

    oracle日期时间判断函数

    在Oracle数据库系统中,日期和时间的处理是数据库操作中的重要组成部分。Oracle提供了丰富的日期时间函数,用于处理和分析日期时间数据。针对标题"oracle日期时间判断函数"和描述中提到的内容,我们可以深入探讨两个...

    oracle日期相减.txt

    oracle 日期相减

    oracle日期相减.pdf

    Oracle 日期相减是指计算两个日期之间的时间差异,包括月份、天数、小时、分钟、秒、毫秒等。下面将详细介绍 Oracle 中日期相减的方法。 一、计算月份差 MONTHS_BETWEEN 函数是 Oracle 中计算两个日期之间的月份...

    倒序相加错位相减裂项相消求和.docx

    5. **错位相减法**:在处理某些数列求和问题时,可以采用错位相减的方式,即将相邻项的和与差进行运算,从而简化求和过程。在解答题14中,可能会用到这种技巧。 6. **绝对值符号**:在数列`{|an|}`中,`|an|`表示...

    android日期相减

    `Date`类提供了`getTime()`方法,返回以毫秒为单位的日期时间值,通过这个值我们可以进行日期相减。例如,如果你有两个`Date`对象`date1`和`date2`,你可以通过`date1.getTime() - date2.getTime()`得到它们之间的...

    分钟秒钟的时间相减 时间类CTime,分钟和秒钟

    输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少秒钟。说明:这两个时间在同一小时之内,且采用60分钟60秒钟的计时分式,即从00:00-59:59。

    sql server日期相减 的实现详解

    本文将深入探讨如何在SQL Server中实现日期相减,以及`DATEDIFF`函数在其中的作用和使用方法。 `DATEDIFF`函数是SQL Server中用于计算两个日期之间差值的内置函数。它允许我们以指定的时间单位(如年、季度、月、日...

    C#实现两个时间相减的方法

    本文将详细讲解如何使用C#实现两个时间相减的方法,并提供实例分析来展示具体的操作技巧。 首先,我们需要了解C#中的`DateTime`类型。`DateTime`是.NET框架中用于表示日期和时间的类,它提供了丰富的属性和方法,...

    WinForm中界面日期相减(DateTimePicker控件)

    在Windows Forms(WinForm)开发中,DateTimePicker控件是一个常用元素,用于用户选择日期或时间。本主题将深入探讨如何在WinForm应用中利用DateTimePicker控件进行日期的相减操作,从而实现一些日期计算的功能。 ...

    日期时间相减、累计小时的计算公式

    日期时间相减、累计小时的计算公式

    Oracle计算时间差为毫秒的实现代码

    在Oracle数据库中,计算时间差通常涉及到日期和时间的运算,特别是当需要精确到毫秒级别时,操作就显得相对复杂。Oracle提供了多种函数来处理日期和时间数据,如TO_DATE和TO_TIMESTAMP,但它们的功能有限,无法直接...

Global site tag (gtag.js) - Google Analytics