我要计算2个日期的间隔天数,
举例:
入库时间:‘2012-09-09 16:57:50 ’
出库时间:‘2012-09-10 05:24:30 ’通过语句想计算出:出库时间-入库时间=2天
另外说明一些入库时间和出库时间是文本的,需转换成日期型后再计算
举例:
入库时间:‘2012-09-09 16:57:50 ’
出库时间:‘2012-09-10 05:24:30 ’通过语句想计算出:出库时间-入库时间=2天
另外说明一些入库时间和出库时间是文本的,需转换成日期型后再计算
得出年数 : round(减后的值/365)
得出剩余月数: round(mod(减后的值,365)/30)
select to_date(substr('2012-09-10 05:24:30',1,10), 'yyyy-mm-dd hh24:mi:ss') -
to_date(substr('2012-09-09 16:57:50',1,10), 'yyyy-mm-dd hh24:mi:ss')+1
from dual;
这已经是很简单的写法了,或者稍微改进些,利用trunc函数
select trunc(to_date('2012-09-10 05:24:30', 'yyyy-mm-dd hh24:mi:ss'))
-trunc(to_date('2012-09-09 16:57:50', 'yyyy-mm-dd hh24:mi:ss'))+1
from dual;
trunc(to_date('2012-09-09 16:57:50', 'yyyy-mm-dd hh24:mi:ss')) + 1
from dual
-trunc(to_date('2012-09-09 16:57:50', 'yyyy-mm-dd hh24:mi:ss'))+1
from dual;
日期直接相减就ok了