欲实现每月三号17点启动Oracle JOB
当前时间:2021-09-30 9:14:02
--关于时间函数
--1
select TRUNC(LAST_DAY(SYSDATE-4))+3+17/24 from dual;--错误示范 2021-10-03 17:00:00
--2
select (LAST_DAY(SYSDATE)) from dual; -- 当月最后一天 2021-09-30 9:14:02
--3
select add_months(LAST_DAY(SYSDATE),-1) from dual; --上月最后一天 2021-08-31 9:14:02
--4
select TRUNC(LAST_DAY(SYSDATE)) from dual;--转换一下格式:成 2021-09-30这样子
--5
select TRUNC(add_months(LAST_DAY(SYSDATE),-1)) from dual;--3和4行结合一下:成 2021-08-31这样子
--6
select TRUNC(add_months(LAST_DAY(SYSDATE),-1))+3+17/24 from dual; --完活撒花:2021-09-03 17:00:00
最终使用:TRUNC(LAST_DAY(SYSDATE))+3+17/24
实现效果
用到的函数
1.TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
2.add_months
add_months 函数主要是对日期函数进行操作,在数据查询的过程中进行日期的按月增加,其形式为:
add_months(date,int);其中第一个参数为日期,第二个为按月增加的幅度,例如:
add_months (sysdate,2):就是当前日期的两个月之后的时间。
3.LAST_DAY函数返回指定日期对应月份的最后一天。