`

计算两个日期之间的月份

 
阅读更多

select round(months_between(TRUNC(sysdate),to_date('2009-02','yyyy-mm'))),sysdate from dual;

 

具体使用

select to_date('20060302','yyyymmdd') date1,
                    to_date ('20060101','yyyymmdd')date2,
                    to_date('20060302','yyyymmdd')
                                         -to_date('20060101','yyyymmdd') days,
                    (to_date('20060302','yyyymmdd')
                                      -to_date('20060101','yyyymmdd'))/31
                                                                                         months_cal,     
                    months_between(to_date('20060302','yyyymmdd'),
                                     to_date('20060101','yyyymmdd')) months_tetween
    from dual;

 

date1          date2         days     months_cal                  months_tetween

2006-3-2     2006-1-1    60        1.93548387096774       2.03225806451613

 

解答下为什么是2.03225806451613

先计算年的差,然后月的差,日的差
通过3个结果,再计算。

 

 

oracle文档中是这样定义months-between的

MONTHS_BETWEEN returns number of months between dates date1 and date2. If date1 is later than date2, then the result is positive. If date1 is earlier than date2, then the result is negative. If date1 and date2 are either the same days of the month or both last days of months, then the result is always an integer. Otherwise Oracle calculates the fractional portion of the result based on a 31-day month and considers the difference in time components date1 and date2.

 

从20060101-20060301为整数月2(依照前面的文档说明)
剩下的20060301 - 20060302 为1天, 这一部分是小数部分, 1/31 = 0.03225806
加起来的结果是: 2+ 0.03225806 = 2.03225806

分享到:
评论

相关推荐

    sql确定两个日期之间的月份数或年数

    在进行数据分析或者处理与时间相关的业务逻辑时,经常会遇到需要计算两个日期之间的差异的问题,尤其是月份数和年数的差异。这样的需求在人力资源管理、财务分析等领域非常常见。比如,计算第一个员工和最后一个员工...

    Java 计算两个日期之间相差的月数

    在Java编程语言中,计算两个日期之间相差的月数是一个常见的任务,这通常涉及到日期处理和时间计算。本文将深入探讨如何使用Java实现这个功能,包括标准库中的API以及一些高级方法。 首先,Java 8引入了`java.time`...

    SQL Server 查询两个日期之间的所有月份

    在SQL Server中,查询两个日期之间的所有月份是一个常见的需求,特别是在数据分析、报表生成或时间序列分析等场景。本文将详细讲解如何使用SQL Server实现这一功能,以满足上述标题和描述中的要求。 首先,我们需要...

    计算两个日期相差的天数

    计算两个日期相差的天数是一个常见的需求,例如计算两个日期之间的时间间隔。在 Java 中,我们可以使用 Calendar 对象来实现此功能。 首先,我们可以使用 Calendar 对象的 setTime 方法将两个日期设置到 Calendar ...

    计算两个时间之间的年数、月数、天数等

    计算两个时间之间的年数、月数、天数、时、分、秒,计算两个时间之间的年数、月数、天数、时、分、秒

    php 输出 两个日期 之间 的所有月份

    php用于输出两个日期之间的所有月份,适合用于查询以日期分表的mysql数据表时用到。

    计算2个日期相差天数、去除节假日周末

    在编程领域,尤其是在数据分析、日程管理或者时间序列分析中,计算两个日期之间的差异并考虑工作日排除节假日和周末是一项常见的任务。C++作为一种强大的系统级编程语言,提供了丰富的库来处理日期和时间操作。本篇...

    java实现输入任意两个日期输出月份数和天数

    java实现输入任意两个日期输出月份数和天数,综合考虑闰年、2月等因素,对于整月计算利息或按天数计算利息提供基础工具类。也可以吧内部类独立出来,方便跨包调用,可自行调整。很实用的一个实现。其他百度查到的很...

    计算两个时间相差多少年月日的sql算法

    在SQL中,计算两个日期之间的差值是一种常见的需求,特别是在涉及到日期跨度的业务逻辑处理时。本文将详细介绍如何使用SQL来实现计算两个日期相差多少年、月、日的方法,并通过具体的示例代码来帮助理解这一过程。 ...

    计算两个日期之间的时间差

    在C语言中,计算两个日期之间的时间差是一个常见的编程任务,涉及到日期的解析、闰年的判断、以及日期与时间计算的核心算法。以下根据文档提供的代码片段,我们详细探讨相关知识点: ### 1. 日期结构体定义 首先...

    指定两个日期计算相隔的天数

    在编程和数据分析中,计算两个日期之间的差值是一项常见的任务,尤其在日程安排、时间序列分析或报表生成等场景中。"指定两个日期计算相隔的天数"这一功能通常涉及日期函数的使用,这些函数能够帮助我们快速地得出两...

    两个时间间隔的天数

    在实际应用中,经常需要计算两个日期之间的差值,尤其是在日程安排、数据分析等领域。这段代码提供了一个JavaScript函数 `functionDateDiff`,用于计算两个日期字符串之间相隔的天数。 #### 函数解析 - **参数**: ...

    计算日期差

    本文将详细讲解如何计算两个日期之间的差值,包括天数、小时、分钟和秒数。我们将基于Java语言,通过分析提供的`DateDays.java`和`Date`文件来探讨这一主题。 首先,Java提供了`java.util.Date`类来表示日期和时间...

    C#日期间隔计算,能计算年,月,天

    这个标题“C#日期间隔计算,能计算年,月,天”指的是如何在C#中计算两个日期之间的差值,包括年、月和天数。描述进一步提到了能够处理DateTime类型的变量,并且可以计算出两个日期之间相差的具体年、月和天数。 ...

    java计算两个时间相差月数

    java计算两个时间(yyyy-MM-dd HH:mm:ss)相差月数两个时间格式可为年月日时分秒

    计算两个日期间的年月日差

    首先,我们要明确的是,计算两个日期之间的差值通常涉及到日期间隔的计算,这包括年、月、日三个维度。在C#中,我们可以使用DateTime结构的`Subtract`方法来获取两个日期之间的时间间隔,这将返回一个TimeSpan对象。...

    js计算两个日期相差几周

    在日常开发工作中,我们经常会遇到需要处理日期的问题,比如计算两个日期之间的差距等。本篇文章将详细介绍如何使用JavaScript编写一个函数来计算两个日期之间相差几周。 #### 核心概念:日期与时间戳 在...

    VB6.0 两个日期差,天数差

    在VB6.0(Visual Basic 6.0)中,计算两个日期之间的天数差是一项常见的编程任务,尤其是在处理时间序列数据或者进行日历相关的应用时。VB6提供了丰富的日期和时间函数,使得我们可以轻松地完成这样的计算。下面将...

    计算两个日期相差的秒数 C源码

    在软件开发过程中,经常需要处理时间相关的计算问题,其中一个常见的需求就是计算两个日期之间的时间差。本篇文章将详细介绍如何使用C语言来计算两个日期相差的秒数,并提供一段示例代码进行解释。 #### 相关知识点...

    vb计算两个日期间隔

    在Visual Basic(简称VB)开发环境中,经常会遇到需要计算两个日期之间间隔的情况,比如在项目管理、数据分析等领域。本文将详细讲解如何使用VB来实现简单高效的日期间隔计算功能。 #### 一、基础知识介绍 在VB中...

Global site tag (gtag.js) - Google Analytics