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;
select
extract(year from to_date('2011-11-11','yyyy-mm-dd')) from dual
select sysdate from dual
'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;
select
extract(year from to_date('2011-11-11','yyyy-mm-dd')) from dual
select sysdate from dual