一、天数:
在Oracle中,两个日期直接相减,便可以得到天数;
select to_date('08/06/2015','mm/dd/yyyy')-to_date('07/01/2015','mm/dd/yyyy') from dual;
返回结果:36
二、月数:
计算月数,需要用到months_between函数;
select months_between(to_date('01/31/2015','mm/dd/yyyy'),to_date('12/31/2014','mm/dd/yyyy')) "MONTHS" FROM DUAL;
返回结果: 1
select months_between(to_date('01/01/2015','mm/dd/yyyy'),to_date('12/31/2014','mm/dd/yyyy')) "MONTHS" FROM DUAL;
返回结果: 0.032258064516129
select abs(trunc(months_between(sysdate , to_date('01/31/2015','mm/dd/yyyy'))))from dual;
select ceil(trunc(months_between(sysdate , to_date('01/31/2015','mm/dd/yyyy'))))from dual;
select floor(trunc(months_between(sysdate , to_date('01/31/2015','mm/dd/yyyy'))))from dual;
三、年数:
计算年数,是通过计算出月数,然后再除以12;(也许会有更好的办法,目前还不知道)
select trunc(months_between(to_date('08/06/2015','mm/dd/yyyy'),to_date('08/06/2013','mm/dd/yyyy'))/12) from dual;
转载自:https://www.cnblogs.com/AnneHan/p/4708386.html在Oracle中计算两个日期间隔的天数、月数和年数:一、天数:在Oracle中,两个日期直接相减,便可以得到天数;select to_date('08/06/2015','mm/dd/yyyy')-to_date('07/01/2015','mm/dd/yyyy') from dual;返回结果:36
-取第几天的数据。
select * from table where trunc(sysdate) - trunc(cr) = 1;
select * from table where trunc(sysdate) - trunc(cr) = 2;
select * from table where trunc(sysdate) - trunc(cr) = 8;
/*大
日期
-小
日期
SELECT count(1) - 1 days
FROM (
select distinct trunc(to_date(‘2019-03-01’,‘yyyy-mm-dd’)) + level - 1 daylist
from dual
connect by trunc(to_date(‘2019-03-01’,‘yyyy-mm-dd’))+ level - 1 <= trunc(to_d...
可以使用以下 SQL 语句
计算
两个
时间
间隔
的秒数:
SELECT (TO_DATE('2022-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('2021-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 FROM dual;
其中,第一个 TO_DATE 函数中的参数为结束时间,第二个 TO_DATE 函数中的参数为开始时间,
计算
结果为
两个
时间
之间
的秒数。