jcgj.net
当前位置:首页 >> orAClE日期相减 >>

orAClE日期相减

日期格式直接减 select to_date('20130120','yyyymmdd')-to_date('20130110','yyyymmdd') from dual; 结果为10

前面的已经回答了months_between(第一个日期,第二个日期) 计算的是第一个日期减去第二个日期的月份,反之得到的是负的月份 SQL> select months_between(date'2014-04-23',date'2013-04-23') days from dual; DAYS ---------- 12 SQL>

select (to_date('20130620101647','yyyymmddhh24miss')-to_date('20130620094008','yyyymmddhh24miss'))*86400 from dual; 前边是两个时间相减,得到天数,然后天数*每天的秒数(每天86400秒),结果就是你要的秒

select a1,count(a1) from (select a1,to_number(to_char(a3,'yyyymmdd'))-to_number(to_char(a2,'yyyymmdd')) as a4 from table1) where a4> 0 group by a1

截取到年,然后相减不就好了。 如果要精确到天, 比如,1994-5到1999-5算是5年,1994-5到1999-4算是4年,那么用case when判断下,大于就是截取到年相减,小于就是截取到年相减-1

1、你的天数确实不是整天啊 2、如果想获取整天数,可以select trunc(sysdate)-trunc(e_offlinetime) from br_equipment; 或者select trunc(sysdate-e_offlinetime) from br_equipment;

ORACLE 日期往后推移增加多少天是直接使用日期字段 + 整型的天数来得到的,结果是推移这些天之后的日期。同样也可以使用减号,表示往前推移。 SELECT TRUNC(SYSDATE + 1) FROM DUAL,这个就是明天,TRUNC是去掉小时分秒的函数。 连个日期相减,...

按日期格式转换之后直接相减取绝对值就可以了,如下: SELECT ABS(TO_DATE('2017-08-24','YYYY-MM-DD') - TRUNC(TO_DATE('2017-09-14','YYYY-MM-DD'))) FROM DUAL

date 类型是可以直接相减的,单位是天 如:select time2 - time1 from TB 如果varchar类型的可以先转成date类型 如:select to_date(time2,'yyyy-mm-dd hh24:mi:ss') - to_date(time1,'yyyy-mm-dd hh24:mi:ss') from TB

比如2012-02-08与2014-04-06,先算天,不够减时算20140308-20140406的天数29,再算02-03月数1,同样,月不够减用年补

网站首页 | 网站地图
All rights reserved Powered by www.jcgj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com