Oracle中的日期差、时间差,话不多说直接上例子。
--时间差-年
select floor(to_number(sysdate - to_date('2023-09-29 15:55:03', 'yyyy-mm-dd hh24:mi:ss'))/365) as spanYears from dual;
--时间差-月
select ceil(MONTHS_BETWEEN(sysdate,to_date('2023-09-29 15:55:03', 'yyyy-mm-dd hh24:mi:ss'))) as spanMonths from dual;
--时间差-天
select floor(to_number(sysdate - to_date('2023-09-29 15:55:03', 'yyyy-mm-dd hh24:mi:ss'))) as spanDays from dual;
--时间差-时
select floor(to_number(sysdate - to_date('2023-09-29 15:55:03', 'yyyy-mm-dd hh24:mi:ss'))*24) as spanHours from dual;
--时间差-分
select floor(to_number(sysdate - to_date('2023-09-29 15:55:03', 'yyyy-mm-dd hh24:mi:ss'))*24*60) as spanMinutes from dual;
--时间差-秒
select floor(to_number(sysdate - to_date('2023-09-29 15:55:03', 'yyyy-mm-dd hh24:mi:ss'))*24*60*60) as spanSeconds from dual;
注:oracle时间差是以天数为单位