–获取两时间的相差豪秒数
select ceil((To_date(‘2008-05-02 00:00:00’ , ‘yyyy-mm-dd hh24-mi-ss’) – To_date(‘2008-04-30 23:59:59’ , ‘yyyy-mm-dd hh24-mi-ss’)) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;
/*
相差豪秒数
———-
86401000
1 row selected
*/
–获取两时间的相差秒数
select ceil((To_date(‘2008-05-02 00:00:00’ , ‘yyyy-mm-dd hh24-mi-ss’) – To_date(‘2008-04-30 23:59:59’ , ‘yyyy-mm-dd hh24-mi-ss’)) * 24 * 60 * 60) 相差秒数 FROM DUAL;
/*
相差秒数
———-
86401
1 row selected
*/
–获取两时间的相差分钟数
select ceil(((To_date(‘2008-05-02 00:00:00’ , ‘yyyy-mm-dd hh24-mi-ss’) – To_date(‘2008-04-30 23:59:59’ , ‘yyyy-mm-dd hh24-mi-ss’))) * 24 * 60) 相差分钟数 FROM DUAL;
/*
相差分钟数
———-
1441
1 row selected
*/
–获取两时间的相差小时数
select ceil((To_date(‘2008-05-02 00:00:00’ , ‘yyyy-mm-dd hh24-mi-ss’) – To_date(‘2008-04-30 23:59:59’ , ‘yyyy-mm-dd hh24-mi-ss’)) * 24) 相差小时数 FROM DUAL;
/*
相差小时数
———-
25
1 row selected
*/
–获取两时间的相差天数
select ceil((To_date(‘2008-05-02 00:00:00’ , ‘yyyy-mm-dd hh24-mi-ss’) – To_date(‘2008-04-30 23:59:59’ , ‘yyyy-mm-dd hh24-mi-ss’))) 相差天数 FROM DUAL;
/*
相差天数
———-
2
1 row selected
*/
–获取两时间月份差
select (EXTRACT(year FROM to_date(‘2009-05-01′,’yyyy-mm-dd’)) – EXTRACT(year FROM to_date(‘2008-04-30′,’yyyy-mm-dd’))) * 12 +
EXTRACT(month FROM to_date(‘2008-05-01′,’yyyy-mm-dd’)) – EXTRACT(month FROM to_date(‘2008-04-30′,’yyyy-mm-dd’)) months
from dual;
/*MONTHS———- 131 row selected*/
–获取两时间年份差
select EXTRACT(year FROM to_date(‘2009-05-01′,’yyyy-mm-dd’)) – EXTRACT(year FROM to_date(‘2008-04-30′,’yyyy-mm-dd’)) years from dual;
/*
YEARS
———-
1
1 row selected