`
stop_
  • 浏览: 49794 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何求得两个日期时间类型之间的天数

阅读更多

lastfhdate,orderdate是时间日期型

错误的求法:

用to_date函数

select lastfhdate,orderdate, to_date(lastfhdate,'yyyy-mm-dd') - to_date( orderdate,'yyyy-mm-dd')  from v_xc_orderdetail

结果如下:

2007-07-25 20:36:07     2007-06-28 16:59:09  -1066

结果明显不对(两个时间相差不到3个月)。

查找oracle的文档。

发现to_date的第一个参数是char,不能是 时间日期型,其中有这样一句:

Do not use the TO_DATE function with a DATE value for the char argument.。

又执行如下语句:

select  to_date(lastfhdate,'yyyy-mm-dd') , to_date( orderdate,'yyyy-mm-dd')  from v_xc_orderdetail

结果如下:

0025-07-07     0028-06-07

原来把天处理成了年份,年份的后两位成了天。

接着执行如下的语句

select to_date('0025-07-07','yyyy-mm-dd') - to_date('0028-06-07','yyyy-mm-dd') from dual

结果就 是 

-1066

正确的求法

1.两个日期时间直接相减,然后求整数

select Floor(lastFhDate - orderDate) from v_xc_orderDetail

2.用trunc函数

select trunc(lastfhdate) - trunc(orderdate) from dual

分享到:
评论

相关推荐

    年龄天数的计算(C++)

    1、问题描述   (1)输入今天的日期(年,月,日)和你的出生日期(年,月,日),计算你在这个世界已经生存了多少天。取值范围:年:1900 – 2100,月:1 – 12,日:1 – 31 ...  函数功能:计算两个日期

    C++实现两个日期间差多少天的解决方法

    计算原理是先求出每个日期距离1年1月1日的天数差值,再进一步做差即可。 代码如下:#include <stdio>struct MyDate{ int year; int month; int day;}; int GetAbsDays(MyDate x){ int i; int month_day[] = {31,...

    php判断两个日期之间相差多少个月份的方法

    通过`DateTime`对象的`diff()`方法,可以获取一个`DateInterval`对象,该对象表示两个日期之间的时间间隔,其中`y`表示年,`m`表示月,`d`表示日。这比简单地计算年月日差异要精确得多。 总结起来,在PHP中判断两个...

    c++简单习题求两个整数的最大公约数和最小公倍

    通过欧几里得算法,可以求得两个整数的最大公约数。算法基于原理:两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数。代码中用do-while循环实现,直到余数为0,此时的除数即为GCD,乘以两数之积...

    在dataframe两列日期相减并且得到具体的月数实例

    在Python中,Timedelta对象表示两个日期或时间点之间的差值。为了将这个差值转换为月数,我们需要进行一些数学计算。因为一个月的天数可能在28到31之间,所以不能简单地用天数除以30来得到月数。这里,我们采用了一...

    2020-2021三年级下册数学经典测试题 (3).doc

    题目需要学生计算两个日期之间相隔的天数,并通过除以7得出两个日期所对应的星期关系。这类题目的解决需要利用整数除法以及余数的概念。例如,学生可以通过列出天数的倍数,通过排除法找到最接近的星期周期,然后...

    EXCEL中关于角度的输入、输出及转换计算技巧

    EXCEL 的日期系统是这样定义的:EXCEL 为每个日期定义了一个序列号,以 1900 年 1 月 1 日为 1,1900 年 1 月 2 日为 2,以此类推,而 2008 年 1 月 1 日的序列号是 39448,简而言之,任何一个日期的数值就是距 1900...

    小学数学总复习易错题PPT课件.pptx

    17. **日期和星期计算**:计算两个日期之间的天数,判断星期几。 18. **相遇问题**:根据速度比和相遇位置,推算距离和速度。 19-20. **工作量与工作效率**:利用工作效率比和工作时间,分析师傅和徒弟的工作量,...

    用C++验证身份证

    - 将求得的和模11得到一个余数。 - 根据余数查询对应的校验码数组 `{'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'}`。 - 最后一位校验码应与身份证号码中的最后一项相匹配。 - **出生日期合法性判断*...

    《公共基础知识》考点特训数学运算(2020年版)_4.docx

    要找到单位数的最大值,可以采用极端思维,设每个单位人数依次为19、20、21...,但由于题目要求人数不同,所以只能是两个单位,分别是247人和7人,满足条件,因此单位数最多为2个。 以上六题覆盖了公共基础知识考试...

    三年级下册数学经典测试题 (15).doc

    根据一周7天的规律,可以通过将天数除以7求得星期几,余数决定了从星期一开始数的天数。 2. **组合问题**: - 题目询问不同早餐搭配数量,展示了乘法原理的应用,即每种饮料可以与多种点心搭配,总数等于饮料种类...

    java50个编程题[文].pdf

    14. 计算日期顺序:输入年月日,计算该日是一年中的第几天,要考虑闰年和月份天数。 15. 排序三个整数:使用冒泡排序或其他简单排序算法,确保输入的三个数从小到大排列。 16. 输出乘法口诀表:通过双重循环生成9...

    六年级数学 小升初数学综合测试卷二(无答案) 人教新课标版

    7. **日期与星期的计算**:计算两个日期之间的天数,以及基于特定日期推算另一日期的星期。 8. **几何图形的角计算**:根据已知角的度数,求未知角的度数,运用几何图形的性质。 9. **分数的理解**:分数值为0的...

    2018年海淀区青少年程序设计思维挑战活动普及组试题.pdf

    本题涉及到了集合的概念,以及如何找出两个集合之间的交集元素数量。 **详细解析:** - **问题背景与描述**:题目要求找出两个数列 `{An}` 和 `{Bm}` 的公共元素数量。 - **核心算法与实现**: - 使用哈希表或...

    最新三年级数学上册 第六单元《数学广场 周期问题》课件 沪教版五四制.ppt

    以气球颜色排列为例,一个周期包含红、绿、红、红、绿五个气球,每个周期有两个红色和一个绿色气球。要确定第23个气球的颜色,我们可以将其看作是周期的循环过程中的一个点。用23除以周期长度5,得到的余数是3,说明...

    50道JAVA基础编程练习题

    GCD可以通过辗转相除法(欧几里得算法)求得,LCM通常是两个数乘积除以GCD的结果。 7. **字符分类计数**:第七题要求统计输入字符串中的字母、空格、数字和其他字符的数量。可以使用循环和条件语句实现。 8. **...

    c语言课程设计报告12649.doc

    4. **日期转换**:这个问题需要学生理解日期与时间的算法逻辑,编写程序实现输入年月日并计算它为当年第几天的功能。程序设计需要使用if语句进行闰年的判断,并利用数组记录平年与闰年的每月天数,再通过for循环计算...

    七年级数学第二章测试卷(2).doc

    10. 代数式的值相等:找到使两个代数式相等的未知数的值。 11. 列方程解决问题:例如5与x的差的1/3比x的2倍大1,需要列出方程来解决。 12. 互为相反数的概念:如果两数相加等于零,则它们互为相反数,可以用来建立...

Global site tag (gtag.js) - Google Analytics