获取上周六的时间
select trunc(sysdate,'iw') - 2 from dual;
获取本周六的时间
select trunc(sysdate,'iw') + 5 from dual;
获取上上周六的时间
select trunc(sysdate-7,'iw') - 2 from dual;
获取需要的时间只需修改相应数字即可
获取当前月
SELECT TO_CHAR(SYSDATE,'YYYY/MM') FROM DUAL
获取上月
select to_char(add_months(trunc(sysdate),-1),'yyyy/mm') from dual;
获取前?天的数据
SELECT TO_CHAR(SYSDATE - ?,'yyyy/MM/dd') FROM DUAL
如果要查询某个时间段内的数据(以当前月为例),添加where条件
where TO_CHAR(e.sender_time,'YYYY-MM')=TO_CHAR(SYSDATE,'YYYY/MM')
两个时间的时间差(以分钟为单位)
ROUND(TO_NUMBER(ae.end_Time - ae.sender_Time) * 24 * 60)
//或者
ceil(TO_NUMBER(ae.end_Time - ae.sender_Time) * 24 * 60)
(37条消息) Oracle中trunc、round 、ceil和floor函数的区别?_小小刚2013的博客-CSDN博客_oracle中floor函数