//指定日期的上一个周末
trunc(to_date('2020-06-01','YYYY-MM-DD'),'iw') - 1
//指定日期的下一个周一
trunc(to_date('2020-06-01','YYYY-MM-DD'),'iw') + 7
//昨天
trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') - 1
//明天
trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') + 1
//上一个月的最后一天
trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') - 1
//下一个月的第一天
ADD_MONTHS(trunc(to_date('2020-06-01','YYYY-MM-DD'),'mm') , 1 )
// 这是4个小时间隔
select to_date(time,'YYYY-MM-DD HH24:MI:SS') +(level-1)/6 dt
from (select '2020-06-01' time from dual ) connect by level <= 7
// 按时间段分组
select sysdate from dual emc,( select to_date(time,'YYYY-MM-DD HH24:MI:SS') +(level-1)/6 dt from (select '2020-06-01' time from dual ) connect by leve<= 7) d where emc.DATA_TIME <= d.dt and emc.DATA_TIME >d.dt-1/6
group by XXX;