常用时间函数及jobs常见配置时间函数!
--常见时间函数
--1、当前日期和时间
select sysdate from dual;
--2、今天日期
select trunc(sysdate) from dual;
--3、今天日期
select trunc(sysdate ,'DD') from dual;
--4、本周星期日的日期
select trunc(sysdate,'d')+7 from dual;
--5、本周星期日的日期
select trunc(sysdate,'dy')+7 from dual;
--6、本周星期日的日期
select trunc(sysdate,'day')+7 from dual;
--7、本季开始日期
select trunc(sysdate,'q') from dual;
--8、本月开始日期
select trunc(sysdate,'month') from dual;
--9、本月开始日期
select trunc(sysdate ,'mm') from dual;
--10、本年开始日期
select trunc(sysdate,'year') from dual;
--11、本年开始日期
select trunc(sysdate ,'yyyy') from dual;
--12、本小时开始时间
select trunc(sysdate ,'HH24') from dual;
--13、本分钟开始时间
select trunc(sysdate ,'MI') from dual;
--14、本世纪开始日期
select trunc(sysdate ,'CC') from dual;
-- 15、本月最后一天
select trunc(LAST_DAY(sysdate),'dd') from dual;
常见jobs 时间配置
--1、每分钟执行
TRUNC(sysdate,'mi') + 1/ (24*60)
--每小时执行
TRUNC(sysdate,'hh') + 1/ (24)
--2、每天定时执行
例如:每天的凌晨1点执行
TRUNC(sysdate+ 1) +1/ (24)
--3、每周定时执行,例如:每周一凌晨1点执行
TRUNC(next_day(sysdate,'星期一'))+1/24
--4、每月定时执行,例如:每月1日凌晨1点执行
TRUNC(LAST_DAY(SYSDATE))+1+1/24
--5、每季度定时执行,例如每季度的第一天凌晨1点执行
TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24
--6、每半年定时执行,例如:每年10月1日和1月1日凌晨2点
ADD_MONTHS(trunc(sysdate,'yyyy'),9)+2/24
--7、每年定时执行,例如:每年1月1日凌晨2点执行
ADD_MONTHS(trunc(sysdate,'yyyy'),12)+2/24