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#计算两个日期之间相差的天数,通过TimeSpan进行计算比较简单
计算两个日期之间工作日天数(c#实现) 计算两个日期之间工作日天数(c#实现)
C语言实现计算两个日期之间的天数的算法,原创!
MATLAB程序计算两个日期之间的总天数
本人编写,通过自己定义的函数计算两个日期之间周末的天数和工作日天数,经过测试,非常好用
kettle中使用js计算两个日期之间的天数
计算两个日期相差的天数,计算两个日期相差的天数,计算两个日期相差的天数
计算除周六日、法定节假日以外两个日期之间的间隔天数
编写一个java程序ex09 功能:用户从键盘输入两个日期(都包括年月日),程序计算两个日期之间相隔的天数,并输出。
指定两个日期计算相隔的天数 指定两个日期计算相隔的天数
Delphi 计算两个日期之间的时间差(天数),面向Delphi初学者的源码,Delphi7源码下载。
matlab版计算任意两个日期相隔的天数,函数原型为function how_many_days = days(year1,month1,day1,year2,month2,day2)。
获取程序中开始时间和结束时间他们相隔多少天
可接受cstring,sting,COleDateTime类型为参数,计算2个日期的总天数 GetTotleDays(COleDateTime date1, COleDateTime date2) GetTotleDays(CString date1, CString date2) :GetTotleDays(string date1, string date2...
MSSQL 输入两个日期,计算这两个日期之间的周六周日天数
用dephi实现简单的计算两个日期之间天数,详细的设计过程,以及所需代码程序
计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等
计算两个时间之间的年数、月数、天数、时、分、秒,计算两个时间之间的年数、月数、天数、时、分、秒
获取两个日期之间的天数,使用整数计量而不是毫秒数约算,例:2017-11-26 23:59:59 与2017-11-27 00:00:00相差天数是1.