ON SCHEDULE 计划任务,有两种设定计划任务的方式:
1. AT 时间戳,用来完成单次的计划任务。
2. EVERY 时间(单位)的数量时间单位[STARTS 时间戳] [ENDS时间戳],用来完成重复的计划任务。
在两种计划任务中,时间戳可以是任意的TIMESTAMP 和DATETIME 数据类型,时间戳需要大于当前时间。
在重复的计划任务中,时间(单位)的数量可以是任意非空(Not Null)的整数式,可以选 1 second,3 minute,5 hour,9 day,1month,1 quarter(季度),1 year
,
分别对应多少秒、分钟、小时、天、月、季度、年
重复计划如:
a、从2013年12月18号0点开始,每天运行一次
ON
SCHEDULE EVERY 1
DAY
STARTS
'2013-12-18 00:00:00'
b、
从现在开始每隔九天定时执行
ON
SCHEDULEEVERY9 DAY STARTSNOW()
;
c、每个月的一号凌晨1 点执行
on schedule every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1day),interval 1 month),interval 1 hour);
D、每个季度一号的凌晨1点执行
on schedule every 1 quarter starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval1 quarter),interval 1 hour);
F、每年1月1号凌晨1点执行
on schedule every 1 year starts date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval1 quarter),interval 1 hour);